我有一个包含数字的PHP字符串。有没有一种方法可以将一个字符串中的所有数字相加?
例如:我有一个名为$ soc_count的字符串。该字符串输出以下内容:
1 1
是否可以将字符串中的所有数字相加?
我的代码:
<?php $soc_count = [];$soc_count = (get_row_layout() == 'irl_today_social_media');?>
<?php echo $soc_count;?>
答案 0 :(得分:3)
假设数字是正整数,并且字符串不为空,则可以尝试以下操作:
eval('$sum = ' . trim(preg_replace('/[^0-9]+/', "+0+", $soc_count), '+') . ';');
echo $sum;
答案 1 :(得分:0)
在数字串上使用explode
,然后对数组求和:
$soc_count = "1 1";
$nums = explode(" ", $soc_count);
$total = array_sum($nums);
echo $total;
对于更通用的解决方案,该解决方案可以覆盖其中包含数字的任何类型的字符串,我们可以尝试使用preg_match_all
:
$soc_count = "1 quick brown fox jumped over 1 lazy dog.";
preg_match_all("/\d+/", $soc_count, $matches);
$nums = $matches[0];
$total = array_sum($nums);
echo $total;