从数组内部的数组获取信息(php)


Getting information from array inside array (php)

所以我有一个类似的数组

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应该具有所有plotis值和其他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 (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