Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从字符串中提取数字-正则表达式_Php_Regex - Fatal编程技术网

PHP从字符串中提取数字-正则表达式

PHP从字符串中提取数字-正则表达式,php,regex,Php,Regex,我有一根这样的线: $myString = '1,2,3,4,8,23,433,1234'; 我需要提取数组中没有逗号的所有数字,如何才能做到这一点?使用explode。请参阅文档使用 您可以使用Explode函数 $myString = '1,2,3,4,8,23,433,1234'; $num=explode(",",$mystring); 现在,数字存储为数组元素 Print_r($num); 我使用php分解来分隔数字 <?php $myString = '1,2,3,4,

我有一根这样的线:

$myString = '1,2,3,4,8,23,433,1234';
我需要提取数组中没有逗号的所有数字,如何才能做到这一点?

使用explode。请参阅文档使用


您可以使用Explode函数

$myString = '1,2,3,4,8,23,433,1234';
$num=explode(",",$mystring);
现在,数字存储为数组元素

Print_r($num);

我使用php分解来分隔数字

<?php

$myString = '1,2,3,4,8,23,433,1234';

$myexplode = explode(",", $myString);

foreach ($myexplode as $number) {
    echo $number;
    echo "<br/>";
}
?>

这不需要正则表达式

$myString = '1,2,3,4,8,23,433,1234';
$myArray = explode(',',$myString);
for($i = 0; $i < count($myArray); $i++)
    $myArray[$i] = intval($myArray[$i]);

欢迎来到堆栈溢出。在发布问题时,重要的是展示您迄今为止所做的尝试,并解释哪些不起作用-例如,您遇到的任何错误或您是否得到了意外的结果。请参阅此链接ok thx p.s.w.g。!这里的问题是,我尝试了2000种方式,但没有人为我工作……现在我知道了原因:sry再次表示,这个解决方案是错误的,但使用正则表达式,您仍然可以从字符串a1、b2、c3中提取数字,而intval将使它们为0。PS:为什么不使用foreach?原始字符串中没有a1-从该字符串中提取数字可能会出错。所以对于这个简单的问题来说,正则表达式的解决方案似乎太大了。这是真的。然而,我读到这个问题是因为OP只想用逗号分隔,只对整数感兴趣。OP也可以使用floatval,如果他希望包含小数的话。或者甚至删除最后两行并使用explode,将内容保留为字符串。或者执行$myArray=array_mapfloatval,explode,,$myString;它不适用于浮点数。仅仅调用变量$number并不能使变量成为数字。尝试使用intval或floatval,就是这样!太多了!,thx all
$myString = '1,2,3,4,8,23,433,1234';
$myArray = explode(',',$myString);
for($i = 0; $i < count($myArray); $i++)
    $myArray[$i] = intval($myArray[$i]);