替换数组值(PHP)

4

我有一个困扰我的问题:

我有一个数组$x_axis[],其中填充了357个值。

$x_axis[0] = '1234'
$x_axis[1] = '2345'
.....
$x_axis[356] = '678'

我需要做的是将每10个键中的值更改为“0000”。

但今天我的头脑完全关闭了……你能帮我吗?

谢谢!


你想要获取第一个元素(索引为0),第11个元素(索引为10),第21个元素(索引为20)等吗?还是你想让第10个元素(索引为9),第20个元素(索引为19)等变成“0000”? - Bob Fincheimer
6个回答

5
$length = count($x_axis);
for ($i=0; $i<$length; $i+=10)
{
  $x_axis[$i] = "0000";
}

1
array_walk($x_axis, function(&$v, $k) { if($k % 10 == 0) $v = '0000'; });

1
for ($i = 10; isset($x_axis[$i]); $i += 10) {
  $x_axis[$i] = '0000';
}

工作完成。


1
foreach(range(0, count($x_axis), 10) as $i) {
        $x_axis[$i] = '0000';
}

0

可能有更好的方法使用数组函数来处理,但就我目前而言

$arrayLen = count($x_axis)
for($index=0; $index<$arrayLen; $index+=10) {
    $x_axis{$index] = '0000';
}

-2

如果您想让每第10个变成0000,可以使用for循环来实现。这也可以考虑到您的值的数量可能会发生变化。

$length = count($x_axis);
for($i=0;$i<$length;$i+=10)
{
  if($i%10==0)
  {
    $x_axis[$i] = '0000';
  }
}

编辑:

人们非常敏感,因此我修改了代码,不再杀死小猫。


每个答案都很好,但对于我所需要的目的来说,这个答案最合适。谢谢大家! - Gustavo Benito Silva
抱歉,与其他答案相比,这是最差的答案。 - ajreal
每次进入循环,这个程序会杀死一只小猫。-1! - Martin.
滚开小猫咪,它们总是很烦人的! - Jan Dragsbaek
@ajreal:这就是我在之前评论中所说的 :) 感谢你发现了这个! - Martin.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接