繁体   English   中英

如何在PHP中添加多维数组的值?

[英]How to add the values of multidimensional arrays in PHP?

问题解决了,谢谢:

foreach($FIMP as &$value){
    foreach($value as &$values){
         $values[0]=$values[3].$values[2].$values[1];
}

我有以下数组:

$FIMP=array(
    1 => array(
             1 => array('a','b','c')
             2 => array('a1','b1','c1')
    2 => array(
             1 => array('a2','b2','c2')
    3 => array(
             1 => array('a3','b3','c3')
             2 => array('a4','b4','c4')
             3 => array('a5','b5','c5')
)

我想添加值:b和c并用'bc'结果覆盖a

$FIMP=array(
    1 => array(
             1 => array('bc','b','c')
             2 => array('b1c1','b1','c1')
    2 => array(
             1 => array('b2c2','b2','c2')
    ...

我已经尝试过$ FIMP

foreach($FIMP as $value){
    foreach($value as $values){
         $values[0]=$values[3].$values[2].$values[1];
}

}

在输出中,先前的$ FIMP不变,

<?php

$FIMP=array(
    1 => array(
         1 => array('a','b','c'),
         2 => array('a1','b1','c1'),
    ),
    2 => array(
         1 => array('a2','b2','c2'),
    ),
    3 => array(
         1 => array('a3','b3','c3'),
         2 => array('a4','b4','c4'),
         3 => array('a5','b5','c5'),
    ),
);

foreach($FIMP as & $v1){
    foreach($v1 as & $v2){
        $v2[0] = $v2[1].$v2[2];
    }
}

var_dump($FIMP);

您可以这样做:

  foreach($FIMP as &$first){
       foreach($first as &$second){
            $second[0] = $second[1].$second[2];
       }
  }

输出值

Array
(
[1] => Array
    (
        [1] => Array
            (
                [0] => bc
                [1] => b
                [2] => c
            )

        [2] => Array
            (
                [0] => b1c1
                [1] => b1
                [2] => c1
            )

    )

[2] => Array
    (
        [1] => Array
            (
                [0] => b2c2
                [1] => b2
                [2] => c2
            )

    )

[3] => Array
    (
        [1] => Array
            (
                [0] => b3c3
                [1] => b3
                [2] => c3
            )

        [2] => Array
            (
                [0] => b4c4
                [1] => b4
                [2] => c4
            )

        [3] => Array
            (
                [0] => b5c5
                [1] => b5
                [2] => c5
            )

    )

)

PHP foreach文档中

为了能够直接在循环内修改数组元素,在$ value之前加&。 在这种情况下,该值将通过引用分配。

因此,要更改$FIMP的值,您需要将foreach循环更改为以下内容:

foreach($FIMP as &$value){
    foreach($value as &$values){
         // alter $value or $values here
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM