欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 本文介绍的是从 BugFree 摘录来的二维数组排序函数,可以实现类似 MySQL 的 ORDER BY 效果,当数组不是从数据库取得时会有特殊应用。 ?php // 说明:PHP中二维数组的排序方法 // 整理:http://www.xk
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
本文介绍的是从 BugFree 摘录来的二维数组排序函数,可以实现类似 MySQL 的 ORDER BY 效果,当数组不是从数据库取得时会有特殊应用。
// 说明:PHP中二维数组的排序方法
// 整理:http://www.xker.com
/**
* @package BugFree
* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $
*
*
* Sort an two-dimension array by some level two items use array_multisort() function.
*
* sysSortArray($Array,"Key1","SORT_ASC","SORT_RETULAR","Key2"……)
* @author Chunsheng Wang
* @param array $ArrayData the array to sort.
* @param string $KeyName1 the first item to sort by.
* @param string $SortOrder1 the order to sort by("SORT_ASC"|"SORT_DESC")
* @param string $SortType1 the sort type("SORT_REGULAR"|"SORT_NUMERIC"|"SORT_STRING")
* @return array sorted array.
*/
function sysSortArray
(
$ArrayData,
$KeyName1,
$SortOrder1 =
"SORT_ASC",
$SortType1 =
"SORT_REGULAR"
)
{
if
(!
is_array
(
$ArrayData
)
)
{
return
$ArrayData;
}
// Get args number.
$ArgCount =
func_num_args
(
);
// Get keys to sort by and put them to SortRule array.
for
(
$I =
1;
$I
$ArgCount;
$I ++
)
{
$Arg =
func_get_arg
(
$I
);
if
(!
eregi
(
"SORT",
$Arg
)
)
{
$KeyNameList
[
] =
$Arg;
$SortRule
[
] =
'$'.
$Arg;
}
else
{
$SortRule
[
] =
$Arg;
}
}
// Get the values according to the keys and put them to array.
foreach
(
$ArrayData
AS
$Key =>
$Info
)
{
foreach
(
$KeyNameList
AS
$KeyName
)
{
$
{
$KeyName
}
[
$Key
] =
$Info
[
$KeyName
];
}
}
// Create the eval string and eval it.
$EvalString =
'array_multisort('.
join
(
",",
$SortRule
)。
',$ArrayData);';
eval
(
$EvalString
);
return
$ArrayData;
}
//################# 示例 #################
$arr =
array
(
array
(
'name' =>
'学习',
'size' =>
'1235',
'type' =>
'jpe',
'time' =>
'1921-11-13',
'class' =>
'dd',
),
array
(
'name' =>
'中国功夫',
'size' =>
'153',
'type' =>
'jpe',
'time' =>
'2005-11-13',
'class' =>
'jj',
),
array
(
'name' =>
'编程',
'size' =>
'35',
'type' =>
'gif',
'time' =>
'1997-11-13',
'class' =>
'dd',
),
array
(
'name' =>
'中国功夫',
'size' =>
'65',
'type' =>
'jpe',
'time' =>
'1925-02-13',
'class' =>
'yy',
),
array
(
'name' =>
'中国功夫',
'size' =>
'5',
'type' =>
'icon',
'time' =>
'1967-12-13',
'class' =>
'rr',
),
);
print_r
(
$arr
);
//注意:按照数字方式排序时 153 比 65 小
$temp = sysSortArray
(
$arr,
"name",
"SORT_ASC",
"type",
"SORT_DESC",
"size",
"SORT_ASC",
"SORT_STRING"
);
print_r
(
$temp
);
?>

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

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa