2011-02-01 4 views
14

Ответ на это может быть легким. Но я очень свежусь к программированию. Так что будьте осторожны ...Как взорвать целое число

Я работаю, пытаясь сделать быстрое решение для одного из ваших клиентов. Я хочу, чтобы получить общее количество цифр в целое, а затем взорвать целое число:

rx_freq = 1331000000 (= 10) 
    $array[0] = 1 
    $array[1] = 3 
    . 
    . 
    $array[9] = 0 

rx_freq = 990909099 (= 9) 
    $array[0] = 9 
    $array[1] = 9 
    . 
    . 
    $array[8] = 9 

Я не могу использовать взорваться, так как эта функция нужна разделителем. Я искал eyh'old Google и Stackoverflow.

В принципе: Как взорвать целое число без разделителя и как найти количество цифр в целых числах.

ответ

31

$array = str_split($int) и $num_digits = strlen($int) должны работать нормально.

+2

Вы можете также использовать 'sizeof()' (aka 'count()') в $ array для получения количества цифр. – ThiefMaster

+0

Отлично. Спасибо, парни. Самое главное, что я получаю sizeof/count цифр, а затем перестраиваю целое число до меньших целых чисел в соответствии с общей суммой цифр. Я должен разбить $ rx_freq на два куска. МГц и КГц. Иногда МГц составляет 4 digtis, а иногда и 3 цифры. – chriscandy

8

Используйте str_split() функцию:

$array = str_split(1331000000); 

Благодаря автоматизированной системе типа принуждения РНР пропущенный ИНТ будет преобразован в строку автоматически. Но если вы хотите, вы также можете добавить явное приведение.

+0

Как именно вы добавляете явное приведение к этому? – Scott

+3

'str_split ((строка) $ number);' – ThiefMaster

2

Я знаю, что это старый, но просто натолкнулся на него. Возможно, это может помочь кому-то другому.

Сначала преобразуйте число в строку. Это очень легко сделать. $number = 45675; // число, которое вы хотите разделить

$nums = ""; //Declare a variable with empty set. 

$nums .= $number; //concatenate the empty string with the integer $number You can also use 

$nums = $nums.$number; // this and the expression above do the same thing choose whichever you 
        //like.. This concatenation automatically converts integer to string 
$nums[0] is now 4, $nums[1] is now 5, etc.. 
$length = strlen($nums); // This is the length of your integer. 
$target = strlen($nums) -1; // target the last digit in the string;  
$last_digit = $nums[$target]; // This is the value of 5. Last digit in the (now string) 

Надежда Это помогает кто-то!