首页 > 解决方案 > 对表PHP中的多维数组进行排序

问题描述

我只想对表格上的“名称”值进行排序,但它似乎不起作用。

$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);

我希望输出是这样的:

图片 姓名 描述
图片 蓝莓 颜色:蓝色
图片 橙子 颜色为橙色
图片 番木瓜 颜色:黄色

标签: phphtmlcss

解决方案


尝试使用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");

推荐阅读