Итак, у меня есть массив, который что-то вроде этого
Array (323) 0 => Array (2) plotis => "2000" aukstis => "1909" 1 => Array (2) plotis => "2100" aukstis => "1909" 2 => Array (2) plotis => "2200" aukstis => "1909" 3 => Array (2) plotis => "2300" aukstis => "1909" 4 => Array (2) plotis => "2400" aukstis => "1909" 5 => Array (2) plotis => "2500" aukstis => "1909" and so on
Мне нужно сделать 2 массива 1, которые должны иметь все значение графика и другое значение aukstis . Но проблема в том, что в первый раз я вижу массив в массиве (новый для php)
Вы можете использовать array_map
для этого.
$plotis_arr = array_map(function ($v){ return $v['plotis'];},$yourarray); $aukstis_arr = array_map(function ($v){ return $v['aukstis'];},$yourarray);
У вас многомерный массив. Чтобы получить доступ к значениям внутри массива, вам необходимо пройти через них. Для этой цели мы можем использовать очень foreach
конструкцию foreach
.
Основной синтаксис выглядит следующим образом:
foreach (array_expression as $key => $value { # code ... }
В этом случае код будет выглядеть следующим образом:
$plotis = $aukstis = array(); // Initialize both of them as empty arrays foreach ($array as $sub) { $plotis[] = $sub['plotis']; // Push the values to $aukstis[] = $sub['aukstis']; // respective arrays }
Конечно, это можно сократить до меньшего количества строк кода с помощью array_map()
и т.п., но, поскольку вы сказали, что являетесь новичком, я подумал, что было бы неплохо использовать простой простой foreach
чтобы вы могли понять это проще.
$plotis = Array(); $aukstis = Array(); for($i=0; $i<count($mainArray); $i++) { $plotis[] = $mainArray[$i]['plotis']; $aukstis[] = $mainArray[$i]['aukstis']; } print_r($plotis); //to display plotis array print_r($aukstis); //to display aukstis array