2
Contributors
1
Reply
11
Views
1 Year
Discussion Span
Last Post by cereal
0

Do you want to extract it from a string or the string is a number itself?

# case 1
$str1 = "Buy 12 apples, 1.5kg of beans and 4 onions, it's already 12:35 hurry up, it's l4t3!";

# case 2
$str2 = '12';

In first case by using preg_match_all() with a simple pattern like this /[\d]+/ you get:

Array
(
    [0] => Array
        (
            [0] => 12
            [1] => 1
            [2] => 5
            [3] => 4
            [4] => 12
            [5] => 35
            [6] => 4
            [7] => 3
        )

)

it will just scan for digits, it's not searching for floats or dates or time and will include the numbers in the word l4t3 (i.e. late), docs:

In the second case use type hint:

$a = (int) $str2;

# or
$b = intval($str2);

which works for integers. You will need floatval() to get decimals. Docs:

Note: please, next time use an appropriate title.

Edited by cereal

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.