这是我的阵列:
Array
(
[0] => Array
(
[0] => Array
(
[0] => West
[1] => 4
)
[1] => Array
(
[0] => South west
[1] => 20
)
)
)
我想要实现的是能够比较$array[0][0][1]
和$array[0][1][1]
。因此,无论哪个较小,我都会获得价值。所以在这种情况下,我知道4较小,所以我先得西,然后是西南。它应该是动态的,因为我们可以获得超过2个。
答案 0 :(得分:1)
这是一个你可以使用的简单例子:
$arr = array(
array("name"=>"Bob","age"=>8,"colour"=>"red"),
array("name"=>"Greg","age"=>12,"colour"=>"blue"),
array("name"=>"Andy","age"=>5,"colour"=>"purple"));
$sortArray = array();
foreach($arr as $val){
foreach($val as $key=>$value){
if(!isset($sortArray[$key])){
$sortArray[$key] = array();
}
$sortArray[$key][] = $value;
}
}
$orderby = "age"; //change this to whatever key you want from the array
array_multisort($sortArray[$orderby],SORT_ASC,$arr);
print_r($arr);
答案 1 :(得分:0)
假设数组结构的深度保持不变,而您只想要最低的,则可以使用简单的foreach。
function findLowestName($array) {
$lowest = 0; // variable to hold the index of the lowest entry.
// go through every entry in the first array member
foreach($array[0] as $key => $value) {
// if this entry is lower than the 'current' lowest, mark this as the new lowest
if($value[1] < $array[0][$lowest]) {
$lowest = $key;
}
}
return $array[0][$lowest][0];
}
作为一个函数构建,所以你可以包含它,并调用函数,将数组作为参数传递给它。