Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按字母排序数组_Php - Fatal编程技术网

Php 按字母排序数组

Php 按字母排序数组,php,Php,是否可以将数组的结果输出到按字母顺序排序的HTML列表中。这就是我的意思。我有一个以下格式的数组: $myArray = array( "apple" => "Fruit that grows ...", "car" => "Vehicle on four...", "ant" => "Insect ..." ... ); 期望输出: <ul>A <li>ant</li> <li>

是否可以将数组的结果输出到按字母顺序排序的HTML列表中。这就是我的意思。我有一个以下格式的数组:

$myArray = array(
    "apple" => "Fruit that grows ...", 
    "car" => "Vehicle on four...", 
    "ant" => "Insect ..."
    ...
);
期望输出:

<ul>A
   <li>ant</li>
   <li>apple</li>
</ul>
<ul>C
   <li>car</li>
</ul>
    A
  • 蚂蚁
  • 苹果
    C
  • 汽车

等等。

您可以使用以下命令按键的字母顺序排列数组:

ksort($myArray);

可以使用以下命令按键的字母顺序排列数组:

ksort($myArray);

首先,按键按字母顺序对数组排序:

ksort($myArray);
或者,如果要进行不区分大小写的排序:

uksort($myArray, "strnatcasecmp");
然后创建一个临时数组,将以相同字母开头的所有单词分组到子数组中:

$arrTemp = array();
foreach($myArray as $strKey => $strValue) {
    $strLetter = strtolower( substr($strKey, 0, 1) );
    if(array_key_exists($strLetter, $arrTemp) === FALSE) {
        $arrTemp[$strLetter] = array();
    }
    array_push( $arrTemp[$strLetter], $strKey );
}
最后,呈现HTML:

foreach($arrTemp as $strLetter => $arrWords) {
    print('<ul>' . strtoupper($strLetter));
    foreach($arrWords as $strWord) {
        print('    <li>' . $strWord . '</li>');
    }
    print('</ul>');
}
foreach($arrTemp作为$strLetter=>$arrWords){
打印(“
    ”.strtoupper($strLetter)); foreach($arrWords作为$strWord){ 打印(“
  • ”.$strWord.
  • ”); } 打印(“
”); }
首先,按键按字母顺序对数组排序:

ksort($myArray);
或者,如果要进行不区分大小写的排序:

uksort($myArray, "strnatcasecmp");
然后创建一个临时数组,将以相同字母开头的所有单词分组到子数组中:

$arrTemp = array();
foreach($myArray as $strKey => $strValue) {
    $strLetter = strtolower( substr($strKey, 0, 1) );
    if(array_key_exists($strLetter, $arrTemp) === FALSE) {
        $arrTemp[$strLetter] = array();
    }
    array_push( $arrTemp[$strLetter], $strKey );
}
最后,呈现HTML:

foreach($arrTemp as $strLetter => $arrWords) {
    print('<ul>' . strtoupper($strLetter));
    foreach($arrWords as $strWord) {
        print('    <li>' . $strWord . '</li>');
    }
    print('</ul>');
}
foreach($arrTemp作为$strLetter=>$arrWords){
打印(“
    ”.strtoupper($strLetter)); foreach($arrWords作为$strWord){ 打印(“
  • ”.$strWord.
  • ”); } 打印(“
”); }
您的代码包含所有字母表的子项您需要这个吗?车是C的孩子!你的代码有所有字母表的子项你需要这个吗?车是C的孩子!