,说我有两个阵列从pre_gmatch中得到:
preg_match_all('#<div class="cloud_flow_big">(.*?)</div>#is', $mystring, $names, PREG_SET_ORDER);
preg_match_all('#<div class="bgframe(.*?)</div></div>#is', $mystring, $numbers, PREG_SET_ORDER);
在获得数组中计数的项目始终相同。因此,这是获得正在发生的事情的代码,并且在所有第一个数组的所有项目中都有一个重复的单词(在这种情况下,这个单词是 number ):
foreach ($names as $key => $name) {
$i++;
$nameclean = str_replace ("number", $numbers[$key], $names[$key]);
echo $nameclean;
}
因此,如何使用第一个数组中的第一个数组中的"替换"单词。来自Array $数字的第一项
让我们简化一点,然后将preg_match从方程式中取出。我们只需从两个单独的数组开始。
$numbers = array(
"I like having number eyes.",
"there are number days in a week,",
"A car normally has number wheels.",
);
$names = array( "two", "seven", "four");
使用foreach回答您的问题,您可以执行以下
$i = 0;
foreach ($numbers as $number) {
$numbers[$i] = str_replace ("number", $names[$i], $number);
$i++;
}
但是,这将在for循环中更好地工作
for ($i = 0; $i < count($numbers); $i++) {
$numbers[$i] = str_replace ("number", $names[$i], $numbers[$i]);
}
这两者的结果是
Array
(
[0] => I like having two eyes.
[1] => there are seven days in a week,
[2] => A car normally has four wheels.
)
也许可以呼叫第一个 array_replace()用第二个数组中的第一个数组替换第一个数组的值将执行您想要的。
希望这会有所帮助。