How do I explode an integer
Asked Answered
S

3

27

the answer to this could be easy. But I'm very fresh to programming. So be gentle...

I'm at work trying to do a quick fix for one of your customers. I want to get the total numbers of digits in a integer, and then explode the integer:

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

I'm not able to use explode, as this function need a delimiter. I've searched the eyh'old Google and Stackoverflow.

Basically: How do I explode an integer without delimiter, and how do I find the number of digits in an integer.

Slaver answered 1/2, 2011 at 22:53 Comment(0)
A
52

$array = str_split($int) and $num_digits = strlen($int) should work just fine.

Accusative answered 1/2, 2011 at 22:56 Comment(2)
You can also use sizeof() (aka count()) on $array to get the number of digits.Eolithic
Great. Thanks guys. The most essential is that I get the sizeof/count of digits, and then rebuild the integer to smaller integers according to the total sum of digits. I must split the $rx_freq into two chunks. MHz and KHz. Sometimes MHz is 4 digtis and sometimes 3 digits.Slaver
E
15

Use the str_split() function:

$array = str_split(1331000000);

Thanks to PHP's automated type coercion the passed int will be converted to a string automatically. But if you want you can also add an explicit cast.

Eolithic answered 1/2, 2011 at 22:56 Comment(3)
How exactly would you add an explicit cast to this?Cartoon
str_split((string)$number);Eolithic
you comment <<Thanks to PHP's automated type coercion the passed int will be converted to a string automatically. >> was so helpful to me, I was wondering why str_split that takes a string works also when you pass an integer to it.Westberg
P
1

I know this is old, but just came across it. Perhaps it can help someone else.

First convert the number to a string. This is very easy to do. $number = 45675; //number you want to split

$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)

Hope This helps someone!

Privacy answered 16/10, 2014 at 4:29 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.