Php 如何按字母顺序显示数组?

Php 如何按字母顺序显示数组?,php,Php,我需要显示一个从我的数据库链接页面 array (size=5) 0 => array (size=3) 'id' => string '1' (length=1) 'name' => string 'apple' (length=5) 'url' => string 'http://iphone7' (length=14) 1 => array (size=3) 'id' => string '2' (length=1) 'name'

我需要显示一个从我的数据库链接页面

array (size=5)
0 => 
array (size=3)
  'id' => string '1' (length=1)
  'name' => string 'apple' (length=5)
  'url' => string 'http://iphone7' (length=14)
1 => 
array (size=3)
  'id' => string '2' (length=1)
  'name' => string 'samsung' (length=7)
  'url' => string 'http://samsung' (length=14)
2 => 
array (size=3)
  'id' => string '3' (length=1)
  'name' => string 'xiaom' (length=5)
  'url' => string 'http://xiaomi' (length=13)
3 => 
array (size=3)
  'id' => string '6' (length=1)
  'name' => string 'sony' (length=4)
  'url' => string 'http://sony' (length=11)
4 => 
array (size=3)
  'id' => string '7' (length=1)
  'name' => string 'nokia' (length=5)
  'url' => string 'http://nokia' (length=12)
像这样

A  
apple <-- it's a link name with url
N
nokia
S
samsung
sony
X
xaomi
但我不明白如何使用多维数组来实现它。 我可以先按“name”属性进行排序,但如何获得放入新数组的第一个字母呢

[
  "A" = > array ('name' => apple,'url' => 'http://...'), 
  "S" => array ('name' => samsung, 'url' => 'http://...')
]
用foreach操作符显示它

我使用此函数获取第一个字母

$result = array();
    $previous = null;
    $i = 0;
    foreach ($model as $value => $key) {
        $firstLetter = substr($key["name"], 0, 1);
        if ($previous !== $firstLetter) {
            $result[$firstLetter] = $firstLetter;
            $result[$firstLetter[$i]] = $key;             
        }
        // something must be here to assign secons array to 
       $result[$firstLetter
        $previous = $firstLetter;         
    }
我得到

array (size=4)
'a' => 
   array (size=3)
   'id' => string '1' (length=1)
   'name' => string 'apple' (length=5)
   'url' => string 'http://iphone7' (length=14)
'n' => 
   array (size=3)
   'id' => string '7' (length=1)
   'name' => string 'nokia' (length=5)
   'url' => string 'http://nokia' (length=12)
's' => 
   array (size=3)
   'id' => string '2' (length=1)
   'name' => string 'samsung' (length=7)
   'url' => string 'http://samsung' (length=14)
'x' => 
   array (size=3)
   'id' => string '3' (length=1)
   'name' => string 'xiaom' (length=5)
   'url' => string 'http://xiaomi' (length=13)

您可以使用数组\多排序

array_multisort( array_column($yourArray, "name"), SORT_ASC, $yourArray );

请注意,您只能有一个键,因此任何重复的第一个字母都将替换其他字母,这就是您想要的吗?所以没有三星?
array_multisort( array_column($yourArray, "name"), SORT_ASC, $yourArray );