如何将 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;
我有一个包含数字的 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;