Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:根据另一个数组的值编辑数组中的条目_Php_Arrays - Fatal编程技术网

PHP:根据另一个数组的值编辑数组中的条目

PHP:根据另一个数组的值编辑数组中的条目,php,arrays,Php,Arrays,我试图弄清楚,如果另一个数组中的对应值为0,如何更改数组中的值。 对于所有速度[x]=0,相应的方向[x]也为=0 鉴于以下两个阵列: Speed ( [0] => 2.2 [1] => 1.3 [2] => 0 [3] => 0 [4] => 0 [5] => 1.1 ) Direction ( [0] => 126.2 [1] => 159.8 [2] => 0

我试图弄清楚,如果另一个数组中的对应值为0,如何更改数组中的值。 对于所有速度[x]=0,相应的方向[x]也为=0

鉴于以下两个阵列:

Speed
(
    [0] => 2.2
    [1] => 1.3
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 1.1
)

Direction
(
    [0] => 126.2
    [1] => 159.8
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 163.8
)
我需要循环遍历方向数组,并将速度数组中具有相应0项的所有值更改为方向数组中大于0的前一项

因此,如果速度[2],速度[3],速度[4]=0,那么在下面的示例中,方向[2],方向[3],方向[4]应该是=方向[1],因为方向[1]是大于0的前一个条目

这将使我:

Speed
(
    [0] => 2.2
    [1] => 1.3
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 1.1
)

Direction
(
    [0] => 126.2
    [1] => 159.8
    [2] => 159.8
    [3] => 159.8
    [4] => 159.8
    [5] => 163.8
)

有人能给我指出正确的方向吗?当您发现速度数组值为0时,尝试用after/before元素替换方向数组值

<?php
    $Speed = array("2.2","1.3","0","1.8","1.2");
    $Direction = array("159.2","159.8","0","161.4","1.2");
    for($i=0;$i<count($Speed);$i++)
    {
        if($Speed[$i] == '0')
        {
            $Direction[$i] = $Direction[1];
        }
    }
    print_r($arr2);
    ?>

o/p
数组([0]=>159.2[1]=>159.8[2]=>159.8[3]=>161.4[4]=>1.2)

当您发现速度数组值为0时,尝试用after/before元素替换方向数组值

<?php
    $Speed = array("2.2","1.3","0","1.8","1.2");
    $Direction = array("159.2","159.8","0","161.4","1.2");
    for($i=0;$i<count($Speed);$i++)
    {
        if($Speed[$i] == '0')
        {
            $Direction[$i] = $Direction[1];
        }
    }
    print_r($arr2);
    ?>

o/p
数组([0]=>159.2[1]=>159.8[2]=>159.8[3]=>161.4[4]=>1.2)

for($i=0;$i
for($i=0;$i
for
/
foreach
循环。您熟悉它们吗?还是希望有人为您编写代码?请查看如何
foreach($input as$key=>value)
works可以帮助您。
for
/
foreach
循环。您熟悉它们吗?或者只是希望有人为您编写代码?检查如何使用
foreach($key=>value)
works可以帮助您。谢谢,这就成功了。如果我不需要选择上一个值,而是选择最后一个>0的值,该怎么办?最后一个平均方向数组最后一个值??是的,这是“大于0的正确最后一个方向值。如果(end($arr2)!='0'){$arr2[$I]=end($arr2);}//检查数组的最后一个元素是否不为零,并将值赋给它否他可能会这样问:if($arr2[$i-1]==0){$arr2[$i]=$arr2[$i-2]}谢谢,成功了。如果我不需要选择上一个值,而是选择最后一个大于0的值,该怎么办?最后一个平均方向数组最后一个值??是的,这是“大于0的正确最后一个方向值。如果(end($arr2)!='0'){$arr2[$I]=end($arr2);}//检查数组的最后一个元素是否不为零,并将值赋给它否他可能会这样问:if($arr2[$i-1]==0){$arr2[$i]=$arr2[$i-2]}