Php 有序列表组编号、符号

Php 有序列表组编号、符号,php,Php,我目前有这样的代码来显示数据: 1 11 Title Here 2 21 Guns A Awesome 使用此选项: foreach($animes as $currentAnime){ $thisLetter = strtoupper($currentAnime->title[0]); $sorted[$thisLetter][] = array('title' => $currentAnime->title, 'id

我目前有这样的代码来显示数据:

1  
11 Title Here

2  
21 Guns

A  
Awesome
使用此选项:

    foreach($animes as $currentAnime){
        $thisLetter = strtoupper($currentAnime->title[0]);
        $sorted[$thisLetter][] = array('title' => $currentAnime->title, 'id' => $currentAnime->id);
        unset($thisLetter);
    }
如何将所有数字分组为
#
,将所有符号分组为
~

像这样:

#
11 Title Here
21 Guns

~
.ahaha

A
Awesome
谢谢您的建议。

您可以检查这是否是一个数字,这是否是一个符号

foreach($animes as $currentAnime){
    $thisLetter = strtoupper($currentAnime->title[0]);
    if(is_numeric($thisLetter))
    {
     $sorted['#'][] = array('title' => $currentAnime->title, 'id' => $currentAnime->id);
    }
    else if(preg_match('/[^a-zA-Z0-9]+/', $thisLetter))
    {
          $sorted['~'][] = array('title' => $currentAnime->title, 'id' => $currentAnime->id);   
    }
    else
    {
          $sorted[$thisLetter][] = array('title' => $currentAnime->title, 'id' => $currentAnime->id);
    }
    unset($thisLetter);
}
[^a-zA-Z0-9]+
-适合字母如果没有a-z字母,也没有a-z字符或0-9数字,则可以添加不适合的字符。您没有精确说明适合哪些字符,因此我已将其添加到regex basics中。此外,您还可以通过
[a-zA-Z]+
检查是否只有一个字母,并将其添加到字符串组,最后一个“else”语句将用于既不是数字也不是字符串的字符串。

如果这是一个数字,您可以使用is_numeric()检查,如果这是一个符号,则使用preg_match检查,并向数组添加另一个维度。