You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对PHP数组使用strlen函数并计算字符串长度总和?

计算PHP字符串数组的所有元素长度之和

方法1:组合array_map与array_sum(最简洁)

这是最直接的实现方式,先用array_map遍历数组,对每个元素调用strlen计算长度,再用array_sum求和:

$array = ['One', 'Two', 'Three'];
$totalLength = array_sum(array_map('strlen', $array));
echo $totalLength; // 输出 11

执行逻辑:array_map('strlen', $array)会生成新数组[3, 3, 5],array_sum直接对这个数组求和得到最终结果。

方法2:手动循环(灵活可控)

如果需要在计算过程中加入额外判断(比如过滤非字符串元素、空字符串),手动循环是更好的选择:

$array = ['One', 'Two', 'Three'];
$totalLength = 0;
foreach ($array as $str) {
    $totalLength += strlen($str);
}
echo $totalLength; // 输出 11

扩展示例(过滤非字符串元素):

$array = ['One', '', 123, 'Three'];
$totalLength = 0;
foreach ($array as $item) {
    if (is_string($item)) {
        $totalLength += strlen($item);
    }
}
echo $totalLength; // 输出 8

方法3:使用array_reduce(函数式写法)

通过array_reduce迭代数组,逐步累加长度总和:

$array = ['One', 'Two', 'Three'];
$totalLength = array_reduce($array, function ($carry, $str) {
    return $carry + strlen($str);
}, 0);
echo $totalLength; // 输出 11

这里初始值0作为累加的起点,每次迭代将当前字符串长度加到累加值$carry中,最终返回总和。


内容的提问来源于stack exchange,提问作者Adi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 21:50:20