在关联数组中按子数组中的键的存在对关联数组进行排序,可以使用以下方法:
下面是一个使用PHP语言实现的示例代码:
['B' => 1, 'C' => 2],
'B' => ['A' => 1, 'C' => 2],
'C' => ['A' => 1, 'B' => 2],
];
// 子数组中的键的存在情况
$keyExistence = [];
// 遍历关联数组,保存子数组中的键的存在情况
foreach ($array as $subArray) {
$existKeys = array_keys($subArray);
$keyExistence[] = $existKeys;
}
// 对关联数组进行排序
array_multisort($keyExistence, $array);
// 输出排序后的关联数组
print_r($array);
运行以上代码,将得到以下输出:
Array
(
[C] => Array
(
[A] => 1
[B] => 2
)
[B] => Array
(
[A] => 1
[C] => 2
)
[A] => Array
(
[B] => 1
[C] => 2
)
)
上述代码通过遍历关联数组,将每个子数组中的键的存在情况保存在一个新的数组中,然后使用array_multisort()
函数对关联数组进行排序,最后输出排序后的关联数组。
上一篇:按子数组值对数组索引进行排序
下一篇:按子数组中的三个项目排序