php按键排序多维数组
发布时间:2022-11-18 10:58:48 所属栏目:PHP教程 来源:
导读: php按键排序多维数组
phpsorting
php按键排序多维数组,php,sorting,Php,Sorting,假设我有一系列的array(8) { [0] => array(1) {'Peter' =>int(4) } [1] => array(1) {'Piper' =
phpsorting
php按键排序多维数组,php,sorting,Php,Sorting,假设我有一系列的array(8) { [0] => array(1) {'Peter' =>int(4) } [1] => array(1) {'Piper' =
|
php按键排序多维数组 phpsorting php按键排序多维数组,php,sorting,Php,Sorting,假设我有一系列的array(8) { [0] => array(1) {'Peter' =>int(4) } [1] => array(1) {'Piper' =>int(4) } [2] => array(1) {'picked' =>int(4) } [3] => array(1) {'peck' =>int(4) 假设我有一系列的 array(8) { [0] => array(1) { 'Peter' => int(4) } [1] => array(1) { 'Piper' => int(4) } [2] => array(1) { 'picked' => int(4) } [3] => array(1) { 'peck' => int(4) } [4] => array(1) { 'pickled' => int(4) } 我如何根据关键示例(Peter)对这个多维数组进行排序。我试着用 ksort($arr); 但它只返回一个布尔值 我想要的输出 array(8) { [0] => array(1) { 'peck' => int(4) } [1] => array(1) { 'Peter' => int(4) } [2] => array(1) { 'picked' => int(4) } [3] => array(1) { 'pickled' => int(4) } [4] => array(1) { 'piper' => int(4) } 数组应按键和升序排序 像这样使用usort排序,检查 ksort() 方法执行就地排序。因此,虽然它只返回一个布尔值(正如您正确指出的那样),但它会将 $arr 中的值按排序顺序进行变异。请注意,根据预期的输出,您似乎希望执行不区分大小写的搜索。为此,您需要使用 SORT\u标志\u CASE SORT标志。因此PHP多维数组,与其调用 ksort($arr) ,不如使用 ksort($arr,SORT\u FLAG\u CASE) 。您可以在中看到 ksort() 如何使用排序标志。希望有帮助 你可以这样做 $temp = array_map(function($a){ return key($a); // fetching all the keys }, $arr); natcasesort($temp); // sorting values case insensitive $result = []; // logic of sorting by other array foreach($temp as $v){ foreach($arr as $v1){ if($v == key($v1)){ $result[] = $v1; break; } } } 输出 Array ( [0] => Array ( [peck] => 4 ) [1] => Array ( [Peter] => 4 ) [2] => Array ( [picked] => 4 ) [3] => Array ( [pickled] => 4 ) [4] => Array ( [Piper] => 4 ) ) 使用print_r($arr)函数打印数组并在此处显示输出我尝试了不同的函数,如array_multisort、ksort,但它只返回一个布尔值。在此处添加代码可能与预期输出重复,为什么会这样?我不明白如何按关键示例(Peter)对这个多维数组进行排序。@初学者查看答案中的演示。为什么Peter在第一个索引上它应该是peck因为大写 P 小于小写 P 可以不分大小写对它进行排序吗?我只想按字母顺序显示order@Beginner是的,检查演示。 Array ( [0] => Array ( [peck] => 4 ) [1] => Array ( [Peter] => 4 ) [2] => Array ( [picked] => 4 ) [3] => Array ( [pickled] => 4 ) [4] => Array ( [Piper] => 4 ) ) (编辑:我爱资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


