我有一个带有preg_match_all的数组。 此数组包含4个值,每个值都是一个数字。 我想只显示10个或更多字符的值。 例如:
Array_Value1 = 1234567890
Array_Value2 = 01234
Array_Value3 = 449125
Array_Value4 = 991234581210
我想用echo只显示Array_Value1和Array_Value4,因为它由10个或更多字符组成! 我该怎么办?
我尝试使用count_char
或str_len
,但我看到一条消息说“数组转换为字符串”。
任何人都可以帮助我?
答案 0 :(得分:2)
首先,您必须将所有值放在数组中:
$array = array(1234567890, 01234, 449125, 991234581210);
之后你可以使用一个简单的foreach:
foreach($array as $value) {
if(strlen((string)$value) >= 10)
echo $value;
}
你应该在每次回声后添加一个分隔符,否则你会有一个像
这样的输出1234567890991234581210
答案 1 :(得分:1)
foreach ($values as $value)
{
if (strlen((string)$value) >= 10)
echo $value;
}
答案 2 :(得分:0)
试试这个 -
foreach($my_arr as $val)
{
if(strlen((string)$val) >=10)
// more than or equal to 10
else
// less than 10
}
答案 3 :(得分:0)
试试这个:
<?php
$values = array(123123123, 53453453452345, 123, 9979797979797979);
$string = implode(',',$values);
preg_match_all('/(\d{10,})/', $string, $matches);
print_r($matches[1]);
?>
也许这更耗费时间......呵呵