我正在创建一个模板解析器,我需要对传递给解析器的变量数组进行排序,以便首先处理作为数组的每个数组元素。例如:
$data = array(
'name' => 'Steven',
'type' => array(
'gender' => 'M',
'age' => 23'
)
)
我需要'type'成为第一个,因为它是一个数组,'name'是最后一个。有没有人知道如何做到这一点?我看过不同排序函数的php.net手册,但是看不出有什么适用于我的情况。
答案 0 :(得分:3)
function cmp($a, $b) {
return is_array($a) ? -1 : 1;
}
uasort($data, "cmp");
这将按字母顺序基于值类型对数组进行排序。数组出现在String之前。
答案 1 :(得分:2)
function cmp($a, $b) {
return is_array($a)? -1 : 0;
}
uasort($data, "cmp");