У меня есть список из примерно 100 географических названий, и первые 10 названий начинаются с цифры, которая, конечно, здесь считается строкой.Я хочу разделить цифры и каждую букву.Я попробовал это
if ($currentLetter == '0' || '1' || '2' || '3' ) etc.
, но оно всегда возвращало true, даже если имя начиналось с буквы.
Код ниже работает, но мне кажется неэффективным, у любого есть более краткий способ написатьэтот?Есть ли максимальное количество времени, которое вы можете использовать ||в заявлении?
$lastLetter = 'z';
while ( $the_query->have_posts() ) :
$the_query->the_post();
// Show Posts ...
$currentLetter = strtolower(substr(get_the_title(), 0, 1));
$slug = basename(get_permalink());
$proj_title = get_the_title();
if ($currentLetter === '0' || $currentLetter === '1' || $currentLetter == '2' || $currentLetter == '3' || $currentLetter == '4' || $currentLetter == '4' || $currentLetter == '5' || $currentLetter == '6' || $currentLetter == '7' || $currentLetter == '8' || $currentLetter == '9') {
//do nothing if a number
} else if ($currentLetter != $lastLetter) {
echo '<div class="row" style="border:1px solid gray;float:left;margin-top:48px;width:100%;height:auto;clear:both;"><h3 style="text-transform:uppercase;">';
echo $currentLetter;
echo '</h3></div>';
$lastLetter = $currentLetter;
}
echo '<a href="'.$slug.'">'.$proj_title.'</a><br/>';
endwhile;