在PHP表中对多维数组进行排序
我只想对表上的“Name”值进行排序,但它似乎不起作用在PHP表中对多维数组进行排序,php,html,css,Php,Html,Css,我只想对表上的“Name”值进行排序,但它似乎不起作用 $fruits = array( array( 'image' => '<img class="img" src="papaya.jpg">', 'name' => 'Papaya', 'description'=> 'Color: Yellow', ), array( 'image'
$fruits = array(
array(
'image' => '<img class="img" src="papaya.jpg">',
'name' => 'Papaya',
'description'=> 'Color: Yellow',
),
array(
'image' => '<img class="img" src="blueberry.jpg">',
'name' => 'Blueberry',
'description'=> 'Color: Blue',
),
array(
'image' => '<img class="img" src="orange.jpg">',
'name' => 'Orange',
'description'=> 'Color: Orange',
),
);
array_multisort($fruits['name'], SORT_ASC);
$fruits=数组(
排列(
'图像'=>'',
'名称'=>'木瓜',
'说明'=>'颜色:黄色',
),
排列(
'图像'=>'',
“名称”=>“蓝莓”,
'说明'=>'颜色:蓝色',
),
排列(
'图像'=>'',
“名称”=>“橙色”,
'说明'=>'颜色:橙色',
),
);
数组_multisort($fruits['name'],SORT_ASC);
我希望输出如下:
形象
名称
描述
照片
蓝莓
颜色:蓝色
照片
橙色
颜色:橙色
照片
番木瓜
颜色:黄色
尝试将
usort
函数与适当的回调函数一起使用。你可以这样做
$fruits = array(
array(
'image' => '<img class="img" src="papaya.jpg">',
'name' => 'Papaya',
'description' => 'Color: Yellow',
),
array(
'image' => '<img class="img" src="blueberry.jpg">',
'name' => 'Blueberry',
'description' => 'Color: Blue',
),
array(
'image' => '<img class="img" src="orange.jpg">',
'name' => 'Orange',
'description' => 'Color: Orange',
),
);
function cmp($a, $b)
{
return strcmp($a["name"], $b["name"]);
}
usort($fruits, "cmp");
$fruits=数组(
排列(
'图像'=>'',
'名称'=>'木瓜',
'说明'=>'颜色:黄色',
),
排列(
'图像'=>'',
“名称”=>“蓝莓”,
'说明'=>'颜色:蓝色',
),
排列(
'图像'=>'',
“名称”=>“橙色”,
'说明'=>'颜色:橙色',
),
);
功能cmp($a$b)
{
返回strcmp($a[“name”],$b[“name”]);
}
usort(水果,cmp);
您是否尝试过将usort
与自定义回调一起使用?这节省了我很多时间。非常感谢!:)