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检查,并向数组添加另一个维度。