使用数组时如何替换 php 中的位置字符串


How to replace position string in php when using array?

我有一个字符串 php

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

我想将"一"替换为"1",但我只想在0 2 4 6 8处替换某个位置,并且在1 3 5 7 9处没有变化

结果确切:arr={"1", "one", "1", "one", "1", "one", "1", "one", "1"}

如果我在 php 中使用 str_replace 是结果是替换所有位置,我想要这个工作想法?

$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);
for($i=0; $i < count($arr); $i++)
{
   if(($i%2) == 0) $arr[$i] = '1';
}
foreach($arr as $ak => &$av) {
 if($ak % 2 == 0 && $av == 'one') {
  $av = '1';
 }
}

也许有了这个

    for($i = 0; $i < count($arr);$i++){ 
       if($i == 0 || $i%2 != 0){
           $arr[$i] = 1;
       }
    }