Как вывести число которое начинается на цифру
Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
$arr = ['10', '20', '30', '50', '235', '3000'];
foreach( $arr as $elem ){
echo $elem.'<br>';
}
Ответы (3 шт):
Автор решения: Haku Kimura
→ Ссылка
foreach ($arr as $elem) {
if (in_array(substr($elem, 0, 1), [1, 2, 5])) {
//..
}
}
Автор решения: Pavel
→ Ссылка
Варианты работают как с массивом строк, так и с массивом чисел
До PHP 7.4
$filtered = array_filter($arr,function($item) {
return in_array(((string)$item)[0],[1,2,5]);
});
После PHP 7.4
$filtered = array_filter($arr,fn($item)=> in_array(((string)$item)[0],[1,2,5]));
Автор решения: Juliia Scorp
→ Ссылка
Вариант через приведение к строке:
foreach($arr as $elem){
$elem=(string) $elem;
if($elem[0]==1 or $elem[0]==2 or $elem[0]==5){
echo $elem.' ';
}
}
Вариант через вычисление первой цифры:
foreach($arr as $elem){
$start=($elem/10**(strlen($elem)-1))%10;
//echo $start.' ';//получим первую цифру 1 2 3 5 2 3
if($start==1 or $start==2 or $start==5){
echo $elem;
}
}