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

时间:2014-04-26 09:47:02

标签: php arrays

所以我有这样的数组

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)

3 个答案:

答案 0 :(得分:1)

您可以使用array_map进行此操作..

$plotis_arr  = array_map(function ($v){ return $v['plotis'];},$yourarray);
$aukstis_arr = array_map(function ($v){ return $v['aukstis'];},$yourarray);

答案 1 :(得分:1)

你拥有的是一个多维数组。要访问数组中的值,您需要遍历它们。为此,我们可以使用非常方便的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,这样你就可以更容易理解。

答案 2 :(得分:0)

$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