如何将 php 字符串中的数字相加?

How to add up numbers in a php string?

我有一个包含数字的 PHP 字符串。有没有办法将字符串中的所有数字相加?

例如:我有一个名为 $soc_count 的字符串。该字符串输出以下内容:

1 1

有没有办法将字符串中的所有数字相加?

我的代码:

<?php $soc_count = [];$soc_count = (get_row_layout() == 'irl_today_social_media');?>
<?php echo $soc_count;?>

在你的数字串上使用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;

假设数字是正整数且字符串不为空,你可以试试这个:

eval('$sum = ' . trim(preg_replace('/[^0-9]+/', "+0+", $soc_count), '+') . ';');

echo $sum;