从多维数组php创建不同的数组集

我一直在尝试创建一个不同的国家/地区代码数组,该数组将获取仅针对该国家/地区的所有日期,并使用 PHP 中的多维数组添加到该数组中,但我无法存档。


输入数组

Array

(

    [0] => Array

        (

            [0] => 2019-01-01

            [1] => lt

            [2] => passport

            [3] => 30122719

            [4] => 2019-03-01

            [5] => 357717289

        )


    [1] => Array

        (

            [0] => 2019-01-01

            [1] => pl

            [2] => identity_card

            [3] => 9879386836

            [4] => 2018-11-01

            [5] => 643023760

        )


    [2] => Array

        (

            [0] => 2019-01-02

            [1] => lt

            [2] => passport

            [3] => 46530663

            [4] => 2019-03-01

            [5] => 357717289

        )


    [3] => Array

        (

            [0] => 2019-01-02

            [1] => pl

            [2] => identity_card

            [3] => 4531480055

            [4] => 2017-10-21

            [5] => 324444899

        )


    [4] => Array

        (

            [0] => 2019-01-03

            [1] => lt

            [2] => passport

            [3] => 54163812

            [4] => 2019-03-01

            [5] => 357717289

        )


    [5] => Array

        (

            [0] => 2019-01-03

            [1] => fr

            [2] => drivers_license

            [3] => 95180604

            [4] => 2018-07-02

            [5] => 942959784

        )

)

预期输出

Array

(

    [lt] => Array

        (

            [0] => 2019-03-01

            [1] => 2019-03-01

            [2] => 2019-03-01

        )


    [pl] => Array

        (

            [0] => 2018-11-01

            [1] => 2017-10-21

        )


    [fr] => Array

        (

            [0] => 2018-07-02

        )


)

到目前为止,我已经尝试了以下


$dist = array();

foreach ($inputArray as $key => $value) {

     foreach ($value as $index => $v) {

          $dist[$value[1]] = $value[4];

     }

}

代码返回以下内容


Array

(

    [lt] => 2019-03-01

    [pl] => 2016-08-01

    [fr] => 2019-04-01

    [de] => 2009-01-01

    [uk] => 2015-09-07

    [es] => 2015-09-08

    [it] => 2019-02-16

)


SMILET
浏览 149回答 1
1回答

MMTTMM

您非常接近 - 您只是错过了[]将元素附加到数组的运算符。看到这个:$dist = array();$cc = array('fr', 'pl', 'lt');foreach ($inputArray as $key => $val) {     if (in_array($val[1], $cc) { //get only the county code you want          $dist[$val[1]][] = $val[4]; // notice the change in this line     }}
打开App,查看更多内容
随时随地看视频慕课网APP