検索
ホームページバックエンド開発PHPチュートリアルPHP 多维数组的排序问题 根据二维数组中某个项排序_PHP

PHP内置函数 array_multisort 要求每个数组大小一样
$areas是地区的二维数组,包含人数和次数,现在要按这2种数进行降序排序
复制代码 代码如下:
foreach($areaArray as &$areas) {
$times = $numbers = array();
foreach($areas as $province => $v) {
$times[$province] = $v['times'];
$numbers[$province] = $v['numbers'];
}
array_multisort($times, SORT_DESC, $numbers, SORT_DESC, $areas);
}

比如有个多为数组:
复制代码 代码如下:
$arr = array(
‘d' => array(‘id' => 5, ‘name' => 1, ‘age' => 7),
‘b' => array(‘id' => 2,'name' => 3,'age' => 4),
‘a' => array(‘id' => 8,'name' => 10,'age' => 5),
‘c' => array(‘id' => 1,'name' => 2,'age' => 2)
);

需要对二维数组中的 age 项排序。
需要用到PHP的内置函数 array_multisort(),可以看手册。
自定义函数:
复制代码 代码如下:
function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){
if(is_array($multi_array)){
foreach ($multi_array as $row_array){
if(is_array($row_array)){
$key_array[] = $row_array[$sort_key];
}else{
return false;
}
}
}else{
return false;
}
array_multisort($key_array,$sort,$multi_array);
return $multi_array;
}
//处理
echo “

”; 
print_r(multi_array_sort($arr,'age'));exit;
//输出
Array
(
[c] => Array
(
[id] => 1
[name] => 2
[age] => 2
)
[b] => Array
(
[id] => 2
[name] => 3
[age] => 4
)
[a] => Array
(
[id] => 8
[name] => 10
[age] => 5
)
[d] => Array
(
[id] => 5
[name] => 1
[age] => 7
)
)
written by 大宇
0
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP多维数组排序的维度之旅:从一维到多维PHP多维数组排序的维度之旅:从一维到多维Apr 29, 2024 pm 09:09 PM

一维数组使用sort()函数进行排序,二维数组使用usort()函数按内部元素排序,高维度数组使用多层嵌套usort()函数按层级元素进行排序,分解问题逐层解决是关键。

Python程序使用多维数组相乘两个矩阵Python程序使用多维数组相乘两个矩阵Sep 11, 2023 pm 05:09 PM

矩阵是按行和列排列的一组数字。m行n列的矩阵称为mXn矩阵,m和n称为其维度。矩阵是一个二维数组,在Python中使用列表或NumPy数组创建。一般来说,矩阵乘法可以通过将第一个矩阵的行乘以第二个矩阵的列来完成。这里,第一矩阵的列数应等于第二矩阵的行数。输入输出场景假设我们有两个矩阵A和B,这两个矩阵的维度分别为2X3和3X2。相乘后得到的矩阵将有2行1列。[b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

如何在PHP中将多个数组合并为一个多维数组如何在PHP中将多个数组合并为一个多维数组Jul 09, 2023 pm 01:08 PM

如何在PHP中将多个数组合并为一个多维数组在PHP开发中,我们经常会遇到将多个数组合并为一个多维数组的需求。这个操作在操作大数据集合时非常有用,可以帮助我们更好地整理和处理数据。本篇文章将为大家介绍几种常用的方法来实现这个操作,并附上代码示例供参考。方法一:使用array_merge函数array_merge函数是PHP中常用的数组合并函数,它可以将多个数组

PHP中如何使用array_walk_recursive函数对多维数组进行递归操作PHP中如何使用array_walk_recursive函数对多维数组进行递归操作Jun 26, 2023 am 11:40 AM

在PHP中,数组是一种非常常见的数据类型。有时候,我们会面对一些包含多维数组的情况,这时候如果需要对所有元素进行相同的操作,可以使用array_walk_recursive()函数。array_walk_recursive()函数是PHP中一个非常强大的递归函数,可以帮助我们对多维数组进行递归操作。它可以递归地遍历多维数组的每一个元素,并对其进行相应的操作。

反转多维PHP数组的有效方法反转多维PHP数组的有效方法Apr 29, 2024 am 09:00 AM

反转多维PHP数组的两种有效方法:递归使用array_reverse()函数:递归反转每个嵌套数组的元素。PHP7的array_reverse()函数:使用array_reverse()函数的新重载,对多维数组进行反转。

如何在PHP中对多维数组进行排序如何在PHP中对多维数组进行排序Jul 07, 2023 pm 12:45 PM

如何在PHP中对多维数组进行排序在PHP中,数组是一种非常常见且重要的数据结构,而多维数组更是在一些复杂的数据处理中使用频率较高。但是,对于多维数组的排序操作可能会有些棘手。本文将向您介绍如何在PHP中对多维数组进行排序,并提供具体的代码示例。在开始之前,先来了解一下多维数组的结构。多维数组是指一个数组中的元素又是一个数组,形成了一种嵌套的结构。例如:$st

深入探讨PHP数组:多维数组、关联数组等全面解析深入探讨PHP数组:多维数组、关联数组等全面解析Mar 13, 2024 pm 02:36 PM

深入探讨PHP数组:多维数组、关联数组等全面解析PHP中数组是一种非常重要的数据结构,它可以存储多个数据项并通过索引进行访问。在PHP中,数组可以分为索引数组、关联数组和多维数组等不同类型,每种类型都有其独特的用途和特点。本文将深入探讨PHP数组的各种类型,包括如何声明、访问、遍历和操作数组,同时将会提供具体的代码示例以帮助读者更好地理解。一、索引数组索引数

如何在PHP中循环遍历多维数组如何在PHP中循环遍历多维数组Jul 07, 2023 am 10:17 AM

如何在PHP中循环遍历多维数组在PHP中,数组是一种功能强大的数据结构,它可以容纳多个值。而多维数组则是数组的进一步扩展,可以容纳多个数组。在处理多维数组时,循环遍历是一种常用的操作方式,本文将介绍如何在PHP中使用不同的循环方式来遍历多维数组,并提供相应的代码示例。使用for循环遍历多维数组for循环是一种最常见且应用广泛的循环方式,可以通过嵌套多个for

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境