2

私は文字列phpを持っています

arr={"one", "one", "one", "one", "one", "one", "one", "one", "one"}

「1」を「1」に置き換えたいのですが、 の一部の位置のみを置き換えたいのですが0 2 4 6 8、 at1 3 5 7 9は変更されません

正確に結果:arr={"1", "one", "1", "one", "1", "one", "1", "one", "1"}

PHP で str_replace を使用した結果がすべての位置を置換する場合、この作業のアイデアが必要ですか?

4

4 に答える 4

1
$string = 'arr={"one", "one", "one", "one", "one", "one", "one", "one", "one"}';

$arr = explode(',', $string);

for ($i = 0; $i < count($arr); $i++)
{
    if ($i % 2 == 0)
        $arr[$i] = str_replace('one', '1', $arr[$i]);
}

echo implode(',', $arr);
于 2012-04-18T05:48:44.660 に答える
0
for($i=0; $i < count($arr); $i++)
{
   if(($i%2) == 0) $arr[$i] = '1';
}
于 2012-04-18T05:13:07.143 に答える
0
foreach($arr as $ak => &$av) {

 if($ak % 2 == 0 && $av == 'one') {

  $av = '1';

 }

}
于 2012-04-18T05:13:14.820 に答える
0

多分これで

    for($i = 0; $i < count($arr);$i++){ 
       if($i == 0 || $i%2 != 0){
           $arr[$i] = 1;
       }
    }
于 2012-04-18T05:16:36.557 に答える