在php

时间:2019-10-25 09:56:56

标签: php arrays multidimensional-array

我正在寻找在多维数组中获取特定值的最佳方法。我的数组看起来像这样。我不知道我能获得多少个数组,所以我需要在foreach中使用它。

例如我现在想从每个数组返回[event_budget] [0]值。我该如何实现?

Array
(
    [0] => Array
        (
            [event_budget] => Array
                (
                    [0] => Bis € 4000
                )

            [event_date] => Array
                (
                    [0] => 27.10.2019
                )

            [event_date_timestamp] => Array
                (
                    [0] => 1572134400
                )

        )

    [1] => Array
        (
            [event_budget] => Array
                (
                    [0] => Bis € 500
                )

            [event_date] => Array
                (
                    [0] => 29.10.2019
                )

            [event_date_timestamp] => Array
                (
                    [0] => 1572307200
                )

        )

)

3 个答案:

答案 0 :(得分:1)

您可以通过多种方式获得所需的结果。

最基本的:

$finalArray = array();
foreach($result as $key => $value){
  $finalArray[] = $value['event_budget'][0];
}

$ finalArray将具有您所需的结果。您也可以使用@rakesh提到的内容。

array_map('array_shift',array_column($a, 'event_budget'));

如果您可以控制主阵列,那就太好了。在这种情况下,您可以避免将event_budget用作数组。

如果可能的话,应这样制作:


[event_budget] =>数组 (    [0] => Bis€500 )


[event_budget] => Bis€500


希望这很有帮助。 谢谢

答案 1 :(得分:0)

开始于:

print_r(array_column($array, 'event_budget'));

但是由于event_budget也是数组,因此您需要获取索引为0的列:

print_r(array_column(
    array_column($array, 'event_budget'), 
    0
));

Full demo

答案 2 :(得分:0)

您可以将array_maparray_columnarray_shift一起使用

$aa = array_map('array_shift',array_column($a, 'event_budget'));
print_r($aa);

工作示例:https://3v4l.org/fKpjY