php对二维数组按指定键值key排序示例代码_php技巧
function array_sort($array, $key){
if(is_array($array)){
$key_array = null;
$new_array = null;
for( $i = 0; $i $key_array[$array[$i][$key]] = $i;
}
ksort($key_array);
$j = 0;
foreach($key_array as $k => $v){
$new_array[$j] = $array[$v];
$j++;
}
unset($key_array);
return $new_array;
}else{
return $array;
}
}
PHP二维数组按键值排序
PHP 中 array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。关联键名保持不变,但数字键名会被重新索引。输入数组被当成一个表的列并以行来排序,第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。
但是如果需要排序的数组是一个二维数组,需要按照数组的键值排序,如下面这个二维数组,需要按照sort键名来排序,那么array_multisort() 就无法直接实现了:
$data[5] = array('volume' => 67, 'edition' => 2); $data[4] = array('volume' => 86, 'edition' => 1); $data[2] = array('volume' => 85, 'edition' => 6); $data[3] = array('volume' => 98, 'edition' => 2); $data[1] = array('volume' => 86, 'edition' => 6); $data[6] = array('volume' => 67, 'edition' => 7); // 准备要排序的数组 foreach ($data as $k => $v) { $edition[] = $v['edition']; } array_multisort($edition, SORT_ASC, $data); print_r($data);
将输出:
Array ( [0] => Array ( [volume] => 86 [edition] => 1 ) [1] => Array ( [volume] => 67 [edition] => 2 ) [2] => Array ( [volume] => 98 [edition] => 2 ) [3] => Array ( [volume] => 85 [edition] => 6 ) [4] => Array ( [volume] => 86 [edition] => 6 ) [5] => Array ( [volume] => 67 [edition] => 7 ) )
为了不破坏原有的key,写了一个排序函数,仅支持二维数组。
/** * 根据数组中的某个键值大小进行排序,仅支持二维数组 * * @param array $array 排序数组 * @param string $key 键值 * @param bool $asc 默认正序 * @return array 排序后数组 */ function arraySortByKey(array $array, $key, $asc = true) { $result = array(); // 整理出准备排序的数组 foreach ( $array as $k => &$v ) { $values[$k] = isset($v[$key]) ? $v[$key] : ''; } unset($v); // 对需要排序键值进行排序 $asc ? asort($values) : arsort($values); // 重新排列原有数组 foreach ( $values as $k => $v ) { $result[$k] = $array[$k]; } return $result; }

핫 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)

뜨거운 주제











PHP 프로그래밍에서 array_sum 함수는 배열의 모든 요소의 합을 계산할 수 있는 매우 실용적인 함수입니다. 그러나 2차원 배열의 요소 열의 합을 계산해야 할 경우 몇 가지 문제에 직면할 수 있습니다. 이 기사에서는 PHP에서 array_sum 함수를 사용하여 2차원 배열 열의 요소 합계를 계산하는 방법을 소개합니다. 먼저 2차원 배열의 개념을 이해해야 합니다. 2차원 배열은 여러 개의 배열을 포함하는 배열로, 테이블로 간주할 수 있습니다. 각 배열은 테이블을 나타냅니다.

PHP 배열을 2차원에서 1차원 배열로 변환하는 방법: 1. 루프 순회를 사용하여 2차원 배열을 탐색하고 각 요소를 1차원 배열에 추가합니다. 2. "array_merge" 함수를 사용하여 여러 항목을 병합합니다. 2차원 배열을 "array_merge" 함수에 매개변수로 전달하여 1차원 배열로 변환합니다. 3. "array_reduce" 함수를 사용하면 배열의 모든 값을 처리할 수 있습니다. 콜백 함수를 통해 최종적으로 결과를 반환합니다.

PHP 프로그래밍에서는 지정된 열의 값을 얻는 것을 포함하여 배열에 대한 작업을 수행해야 하는 경우가 많습니다. PHP는 매우 편리한 함수인 array_column을 제공하는데, 이는 2차원 배열에서 지정된 열의 값을 빠르게 얻는 데 도움이 됩니다. 이 기사에서는 array_column 함수를 사용하는 방법을 소개합니다. array_column 함수의 기본 사용법: array_column(array$array,mixed$column_key[

PHP에서 2차원 배열을 뒤집는 방법: 1. PHP 샘플 파일을 만듭니다. 2. 2차원 배열을 정의합니다. 3. "array_reverse($a,true);" 함수를 사용하여 배열을 뒤집습니다. "print_r"로 인쇄하려면 2차원 배열을 반대로 하면 됩니다.

PHP에서 2차원 배열을 1차원 배열로 변환하는 방법 PHP 개발 중에 2차원 배열을 1차원 배열로 변환해야 하는 시나리오를 자주 접하게 됩니다. 이 문서에서는 이 작업을 쉽게 완료하는 데 도움이 되는 몇 가지 일반적인 방법을 소개합니다. 방법 1: 루프 탐색 사용 가장 간단하고 직접적인 방법은 루프를 사용하여 2차원 배열을 탐색하고 각 요소를 새로운 1차원 배열에 추가하는 것입니다. 다음은 이 메서드를 사용하는 코드 예제입니다: functionflatenArray($array){$result

PHP5.5 함수에 대한 자세한 설명: array_column 함수를 사용하여 2차원 배열에서 특정 열을 추출하는 방법 PHP5.5 버전에서는 지정된 열을 추출할 수 있는 매우 실용적인 함수입니다. 2차원 배열의 데이터 열입니다. 이는 많은 양의 데이터를 작업할 때 유용하므로 필요한 데이터를 빠르게 얻을 수 있습니다. array_column 함수의 기본 구문은 다음과 같습니다: arrayarray_column(array$

PHP에는 다른 배열을 요소로 저장할 수 있는 특별한 유형의 배열인 2차원 배열이 있습니다. 2차원 배열의 선언과 액세스는 매우 간단합니다. 차원 배열을 사용하고 인덱싱 또는 연관을 요소로 사용하는 것은 실제 프로그래밍에 매우 유용하며 다양하고 복잡한 데이터 구조를 처리하는 데 사용할 수 있습니다.

질문 런타임 컴파일을 사용하여 2차원 배열에 있는 모든 요소의 합과 곱을 계산하는 C 프로그램을 작성하세요. 솔루션 런타임 컴파일 또는 초기화를 동적 할당이라고도 합니다. 실행 시간(런타임)에 메모리를 할당하는 것을 동적 메모리 할당이라고 합니다. calloc() 및 malloc() 함수는 동적 메모리 할당을 지원합니다. calloc() 및 malloc() 함수는 동적 메모리 할당을 지원합니다. p>이 프로그램에서는 2D 배열의 모든 요소의 합과 런타임 시 모든 요소의 곱을 계산합니다. 논리는 2D 배열의 모든 요소의 합을 계산하는 데 사용됩니다. printf("Sumarrayis:");for(i=0;i<2;i++){&
