Как я могу отделить число и получить первые две цифры в PHP?
Например: 1345
-> Мне нужен этот вывод => 13
или 1542
Я хочу 15
.
одной из возможностей было бы использовать substr :
echo substr($mynumber, 0, 2);
РЕДАКТИРОВАТЬ:
пожалуйста, не то, что, как сказал Хакре , это сломается для отрицательных чисел или небольших чисел с десятичными знаками. его решение лучше, поскольку он делает некоторые проверки, чтобы избежать этого.
Прежде всего, вам нужно нормализовать свой номер, потому что не все числа в PHP состоят только из цифр. Возможно, вы ищете целое число:
$number = (int) $number;
Проблемы, с которыми вы можете столкнуться здесь, – это диапазон целых чисел в PHP или проблемах округления, см. Integer Docs , INF
.
Поскольку число теперь является целым числом, вы можете использовать его в контексте строки и извлекать первые два символа, которые будут первыми двумя цифрами, если число не является отрицательным. Если число отрицательное, знак должен быть сохранен:
$twoDigits = substr($number, 0, $number < 0 ? 3 : 2);
См. Демонстрацию .
Не должно быть слишком сложно? Простая подстрока должна делать трюк (вы можете обрабатывать числа как строки на свободно типизированном языке, таком как PHP).
См. Справочную страницу PHP для функции substr()
.
Что-то вроде этого:
$output = substr($input, 0, 2); //get first two characters (digits)
Вы можете получить строковое значение своего номера, а затем получить нужную часть с помощью substr .
Если вы не хотите использовать substr, вы можете разделить свой номер на 10, пока он не будет иметь 2 цифры:
<?php function foo($i) { $i = abs((int)$i); while ($i > 99) $i = $i / 10; return $i; }
дадут вам первые две цифры