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

如何判断经array_map获取的数组长度值是否大于1?

检查数组中字符串长度是否大于1的实现方案

你已经通过以下代码获取了数组内字符串的长度:

$array[] = "1"; $array[] = "22"; $array[] = "333"; $array[] = "4444"; 
$len = array_map("strlen", $array); 
print_r($len);//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

针对你需要检查这些长度值是否大于1的需求,我整理了几种实用的实现方法,你可以根据实际场景选择:

1. 过滤出所有长度大于1的元素

如果想要提取出所有满足“长度大于1”的数值,可以用array_filter函数,它会保留回调函数返回true的元素:

// 基于你已有的$len数组
$filteredLens = array_filter($len, function($value) {
    return $value > 1;
});
print_r($filteredLens);
// 输出结果:Array ( [1] => 2 [2] => 3 [3] => 4 )

2. 生成对应位置的布尔标记数组

如果需要一个和原长度数组一一对应的布尔数组(true表示该位置长度大于1,false则相反),可以再次使用array_map配合匿名函数:

$isLenGreaterThanOne = array_map(function($value) {
    return $value > 1;
}, $len);
print_r($isLenGreaterThanOne);
// 输出结果:Array ( [0] => false [1] => true [2] => true [3] => true )

3. 验证所有长度是否都大于1

如果要确认数组中每一个字符串的长度都大于1,可以用两种简洁的方式实现:

// 方法一:利用array_reduce遍历判断
$allGreaterThanOne = array_reduce($len, function($carry, $value) {
    return $carry && ($value > 1);
}, true);
var_dump($allGreaterThanOne); // 输出:bool(false)

// 方法二:取最小长度直接判断(更简洁)
$allGreaterThanOne = min($len) > 1;
var_dump($allGreaterThanOne); // 输出:bool(false)

4. 检查是否存在至少一个长度大于1的元素

如果只需要确认数组中存在长度大于1的元素,这两种方法都很实用:

// 方法一:取最大长度判断
$hasGreaterThanOne = max($len) > 1;
var_dump($hasGreaterThanOne); // 输出:bool(true)

// 方法二:判断过滤后的数组是否非空
$hasGreaterThanOne = !empty(array_filter($len, function($v) { return $v > 1; }));
var_dump($hasGreaterThanOne); // 输出:bool(true)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:59:13