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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tatasusunan satu dimensi diisih menggunakan fungsi sort(), tatasusunan dua dimensi diisih mengikut elemen dalaman menggunakan fungsi usort() dan tatasusunan dimensi tinggi diisih mengikut elemen hierarki menggunakan fungsi usort() bersarang berbilang lapisan. Menyelesaikan masalah penguraian lapisan demi lapisan adalah kuncinya.

Matriks ialah satu set nombor yang disusun dalam baris dan lajur. Matriks dengan m baris dan n lajur dipanggil matriks mXn, dan m dan n dipanggil dimensinya. Matriks ialah tatasusunan dua dimensi yang dibuat dalam Python menggunakan senarai atau tatasusunan NumPy. Secara umum, pendaraban matriks boleh dilakukan dengan mendarab baris matriks pertama dengan lajur matriks kedua. Di sini, bilangan lajur matriks pertama hendaklah sama dengan bilangan baris matriks kedua. Senario input dan output Katakan kita mempunyai dua matriks A dan B. Dimensi kedua-dua matriks ini ialah 2X3 dan 3X2 masing-masing. Matriks yang terhasil selepas pendaraban akan mempunyai 2 baris dan 1 lajur. [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

Bagaimana untuk menggabungkan berbilang tatasusunan ke dalam tatasusunan berbilang dimensi dalam PHP Dalam pembangunan PHP, kita sering menghadapi keperluan untuk menggabungkan berbilang tatasusunan menjadi tatasusunan berbilang dimensi. Operasi ini sangat berguna apabila mengendalikan pengumpulan data yang besar dan boleh membantu kami menyusun dan memproses data dengan lebih baik. Artikel ini akan memperkenalkan anda kepada beberapa kaedah yang biasa digunakan untuk mencapai operasi ini, dan melampirkan contoh kod untuk rujukan. Kaedah 1: Gunakan fungsi array_merge Fungsi array_merge ialah fungsi penggabungan tatasusunan yang biasa digunakan dalam PHP.

Tatasusunan ialah jenis data yang sangat biasa dalam PHP. Kadangkala, kita akan menghadapi situasi yang melibatkan tatasusunan berbilang dimensi Dalam kes ini, jika kita perlu melakukan operasi yang sama pada semua elemen, kita boleh menggunakan fungsi array_walk_recursive(). Fungsi array_walk_recursive() ialah fungsi rekursif yang sangat berkuasa dalam PHP yang boleh membantu kami melaksanakan operasi rekursif pada tatasusunan berbilang dimensi. Ia boleh melintasi setiap elemen tatasusunan berbilang dimensi secara rekursif dan melakukan operasi yang sepadan padanya.

Dua cara yang berkesan untuk membalikkan tatasusunan PHP berbilang dimensi: Secara rekursif menggunakan fungsi array_reverse(): Membalikkan secara rekursif elemen setiap tatasusunan bersarang. Fungsi array_reverse() PHP7: Gunakan lebihan baharu fungsi array_reverse() untuk membalikkan tatasusunan berbilang dimensi.

Cara mengisih tatasusunan berbilang dimensi dalam PHP Dalam PHP, tatasusunan ialah struktur data yang sangat biasa dan penting, dan tatasusunan berbilang dimensi digunakan dengan lebih kerap dalam beberapa pemprosesan data yang kompleks. Walau bagaimanapun, menyusun tatasusunan berbilang dimensi boleh menjadi agak rumit. Artikel ini akan menunjukkan kepada anda cara mengisih tatasusunan berbilang dimensi dalam PHP dan memberikan contoh kod khusus. Sebelum kita mula, mari kita fahami struktur tatasusunan berbilang dimensi. Tatasusunan multidimensi bermakna unsur-unsur dalam tatasusunan juga merupakan tatasusunan, membentuk struktur bersarang. Contohnya: $st

Perbincangan mendalam tentang tatasusunan PHP: tatasusunan berbilang dimensi, tatasusunan bersekutu, dsb. Analisis komprehensif Tatasusunan dalam PHP ialah struktur data yang sangat penting yang boleh menyimpan berbilang item data dan mengaksesnya melalui indeks. Dalam PHP, tatasusunan boleh dibahagikan kepada jenis yang berbeza seperti tatasusunan diindeks, tatasusunan bersekutu, dan tatasusunan berbilang dimensi Setiap jenis mempunyai kegunaan dan ciri tersendiri. Artikel ini akan menyelidiki pelbagai jenis tatasusunan PHP, termasuk cara mengisytiharkan, mengakses, melintasi dan mengendalikan tatasusunan, dan akan memberikan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Nombor indeks tatasusunan indeks

Cara untuk menggelung melalui tatasusunan berbilang dimensi dalam PHP Dalam PHP, tatasusunan ialah struktur data yang berkuasa yang boleh menyimpan berbilang nilai. Tatasusunan berbilang dimensi ialah lanjutan tatasusunan selanjutnya dan boleh menampung pelbagai tatasusunan. Loop traversal ialah kaedah operasi biasa apabila berurusan dengan tatasusunan berbilang dimensi Artikel ini akan memperkenalkan cara menggunakan kaedah gelung yang berbeza untuk melintasi tatasusunan berbilang dimensi dalam PHP dan menyediakan contoh kod yang sepadan. Menggunakan untuk gelung untuk melintasi tatasusunan berbilang dimensi untuk gelung ialah salah satu kaedah gelung yang paling biasa dan digunakan secara meluas. Ia boleh menyarang berbilang untuk gelung.
