所以我有一个类似的数组
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