Home >Backend Development >PHP Problem >How to leave only numbers in php string
2 methods: 1. Use for to traverse the string and splice the numeric characters into a substring in the loop body. The syntax is "for($i=0;$i
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, DELL G3 computer
php string only Two ways to leave numbers
Method 1: Use the for statement is_numeric() ".=" string splicing
<?php header("content-type:text/html;charset=utf-8"); function findNum($str) { $str = trim($str); if (empty($str)) { echo ''; }else{ $result = ''; for ($i = 0; $i < strlen($str); $i++) { if (is_numeric($str[$i])) { $result .= $str[$i]; } } var_dump($result); } } $str = '0我是123456一段测试的字789符串0'; echo "原字符串:"; var_dump($str); echo "过滤其他字符串后:"; findNum($str); ?>
Analyze the above code:
Use a for loop to traverse the string $str
Use is_numeric($ in the loop body str[$i])
Determine whether the $str[$i]
character is a numeric character;
If so, take it out and use ".=
" is spliced into a digital substring.
Look at the output:
Method 2. Use the preg_replace() function
<?php $str ='0我是123456一段测试的字789符串0'; $result = preg_replace("/[^0-9]/", "", $str); echo $result; ?>
Analyze the key code above:
##preg_replace("/[^0-9]/", "", $str) means matching except 0 Characters other than numbers between ~9 and replace these characters with null characters, that is, delete these characters. Then only numeric characters are left, so the output result is:
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count ]])" means searching for the part matching pattern in the subject and replacing it with replacement; the optional parameter limit is used to set the maximum number of substitutions (the default value is -1, which can be unlimited).
PHP Video Tutorial"
The above is the detailed content of How to leave only numbers in php string. For more information, please follow other related articles on the PHP Chinese website!