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

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1차원 배열은 sort() 함수를 사용하여 정렬하고, 2차원 배열은 usort() 함수를 사용하여 내부 요소별로 정렬하며, 고차원 배열은 다층 중첩 usort() 함수를 사용하여 계층적 요소별로 정렬합니다. 분해 문제를 레이어별로 해결하는 것이 핵심입니다.

행렬은 행과 열로 배열된 숫자의 집합입니다. m행과 n열로 구성된 행렬을 mXn 행렬이라고 하며, m과 n을 차원이라고 합니다. 행렬은 목록이나 NumPy 배열을 사용하여 Python에서 만든 2차원 배열입니다. 일반적으로 행렬 곱셈은 첫 번째 행렬의 행과 두 번째 행렬의 열을 곱하여 수행할 수 있습니다. 여기서 첫 번째 행렬의 열 개수는 두 번째 행렬의 행 개수와 같아야 합니다. 입력 및 출력 시나리오 두 개의 행렬 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 개발에서 여러 배열을 다차원 배열로 병합해야 하는 경우가 종종 있습니다. 이 작업은 대규모 데이터 컬렉션을 운영할 때 매우 유용하며 데이터를 더 잘 구성하고 처리하는 데 도움이 될 수 있습니다. 이 문서에서는 이 작업을 수행하는 몇 가지 일반적인 방법을 소개하고 참조용 코드 예제를 첨부합니다. 방법 1: array_merge 함수를 사용합니다. array_merge 함수는 PHP에서 일반적으로 사용되는 배열 병합 함수입니다. 여러 배열을 병합할 수 있습니다.

배열은 PHP에서 매우 일반적인 데이터 유형입니다. 때때로 다차원 배열과 관련된 상황에 직면하게 됩니다. 이 경우 모든 요소에 대해 동일한 작업을 수행해야 하는 경우 array_walk_recursive() 함수를 사용할 수 있습니다. array_walk_recursive() 함수는 다차원 배열에 대한 재귀 작업을 수행하는 데 도움이 되는 PHP의 매우 강력한 재귀 함수입니다. 다차원 배열의 각 요소를 재귀적으로 순회하고 그에 상응하는 작업을 수행할 수 있습니다.

다차원 PHP 배열을 역전시키는 두 가지 효과적인 방법: array_reverse() 함수를 재귀적으로 사용: 각 중첩 배열의 요소를 재귀적으로 역전시킵니다. PHP7의 array_reverse() 함수: array_reverse() 함수의 새로운 오버로드를 사용하여 다차원 배열을 뒤집습니다.

PHP에서 다차원 배열을 정렬하는 방법 PHP에서 배열은 매우 일반적이고 중요한 데이터 구조이며 다차원 배열은 일부 복잡한 데이터 처리에서 더 자주 사용됩니다. 그러나 다차원 배열을 정렬하는 것은 까다로울 수 있습니다. 이 기사에서는 PHP에서 다차원 배열을 정렬하는 방법과 구체적인 코드 예제를 제공합니다. 시작하기 전에 먼저 다차원 배열의 구조를 이해해 봅시다. 다차원 배열은 배열의 요소가 중첩된 구조를 형성하는 배열이기도 함을 의미합니다. 예: $st

PHP 배열에 대한 심층적인 논의: 다차원 배열, 연관 배열 등에 대한 포괄적인 분석. PHP에서 배열은 여러 데이터 항목을 저장하고 인덱스를 통해 액세스할 수 있는 매우 중요한 데이터 구조입니다. PHP에서 배열은 인덱스 배열, 연관 배열, 다차원 배열 등 다양한 유형으로 나눌 수 있습니다. 각 유형에는 고유한 용도와 특성이 있습니다. 이 기사에서는 배열을 선언하고, 액세스하고, 순회하고, 작동하는 방법을 포함하여 다양한 유형의 PHP 배열을 자세히 살펴보고 독자의 이해를 돕기 위해 구체적인 코드 예제를 제공합니다. 1. 인덱스 배열 인덱스 번호

PHP에서 다차원 배열을 반복하는 방법 PHP에서 배열은 여러 값을 보유할 수 있는 강력한 데이터 구조입니다. 다차원 배열은 배열의 추가 확장이며 여러 배열을 수용할 수 있습니다. 루프 순회는 다차원 배열을 처리할 때 일반적인 작업 방법입니다. 이 기사에서는 다양한 루프 방법을 사용하여 PHP에서 다차원 배열을 순회하는 방법을 소개하고 해당 코드 예제를 제공합니다. for 루프를 사용하여 다차원 배열을 순회하는 것은 가장 일반적이고 널리 사용되는 루프 방법 중 하나입니다. 여러 for 루프를 중첩할 수 있습니다.
