0

pre_gmatchから取得した2つの配列があるとしましょう。

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);

取得した配列のアイテム数は常に同じです。したがって、これが何が起こっているかを取得するためのコードであり、最初の配列のすべての項目に1つの繰り返し単語があります(この単語はこの場合は数字です)。

foreach ($names as $key => $name) {
    $i++;
$nameclean = str_replace ("number", $numbers[$key], $names[$key]);
echo $nameclean;
}

したがって、最初の配列をforeachする方法ですが、結果として、最初の配列の必要な単語を配列2の必要な項目に置き換えます。例:配列$ namesの最初の項目の単語番号を配列$numbersの最初の項目に置き換える必要があります(First

4

3 に答える 3

0

subject(の3番目のパラメーターstr_replace)は、$names[$key]または$name

于 2012-11-12T00:34:02.710 に答える
0

あなたは近くにいました、ここで私はあなたのためにそれを修正しました:

<?PHP

$names = array('John is number', 'Tom is number', 'Ben is number', 'Tony is number', 'Peter is number');
$numbers = array('First', 'Second', 'Third', 'Fourth', 'Fifth');

foreach ($names as $key => $name) {
    $nameclean = str_replace ("number", $numbers[$key], $names[$key]);
    echo $nameclean . "<br />";

}

?>

エラーはstr_replace()にありました。名前自体だけである配列$name[$key]で置換を行っていました。$ names[$key]配列値から置換を行いたい。

于 2012-11-12T00:37:35.040 に答える
0

このようなもの?

    foreach ($names as $key => &$item) {
        $item = str_replace ("number", $numbers[$key], $item);
    }
于 2012-11-12T00:51:49.063 に答える