получить конкретные значения многомерного массива в php - PullRequest
0 голосов
/ 25 октября 2019

Я ищу лучший способ получить конкретные значения в многомерном массиве. Мой массив выглядит так. Я не знаю, сколько массивов я получу, поэтому мне нужно это в 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 ]

1 голос
/ 25 октября 2019

Существуют различные способы получения требуемого результата.

Самый простой:

$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] => Array ([0] => Bis € 500)


[event_budget] => Bis € 500


Надеюсь, это было полезно. Спасибо

0 голосов
/ 25 октября 2019

Вы можете использовать array_map с array_column и array_shift

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

Рабочий пример: https://3v4l.org/fKpjY

0 голосов
/ 25 октября 2019

Начните с:

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

Но поскольку event_budget также является массивом, вам нужно получить столбцы с индексом 0:

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

Полная демонстрация .

...