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

时间:2012-04-18 05:07:44

标签: php

我有一个字符串php

arr={"one", "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是结果是替换所有位置,我想要这个工作的想法吗?

4 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

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

答案 2 :(得分:0)

foreach($arr as $ak => &$av) {

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

  $av = '1';

 }

}

答案 3 :(得分:0)

也许有了这个

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