【问题标题】:Count how many char in array numbers计算数组数字中有多少个字符
【发布时间】:2014-03-24 12:40:26
【问题描述】:

我有一个带有 preg_match_all 的数组。 该数组包含 4 个值,每个值都是一个数字。 我只想显示具有 10 个或更多字符的值。 示例:

Array_Value1 = 1234567890
Array_Value2 = 01234
Array_Value3 = 449125
Array_Value4 = 991234581210

我想只显示 Array_Value1 和 Array_Value4 的回显,因为它由 10 个或更多字符组成! 我该怎么做?

我尝试使用count_charstr_len,但我看到一条消息说“数组到字符串的转换”。

谁能帮帮我?

【问题讨论】:

  • 你的数组结构是什么?
  • 循环遍历你的数组并做你已经做过的事情。
  • 你必须在使用strlen之前转换成字符串,看我的回答!

标签: php arrays strlen


【解决方案1】:

首先,您必须将所有值放入一个数组中:

$array = array(1234567890, 01234, 449125, 991234581210);

之后你可以使用一个简单的foreach:

foreach($array as $value) {

if(strlen((string)$value) >= 10)
 echo $value;
}

你应该在每次回显后添加一个分隔符,否则你会得到类似的输出

1234567890991234581210

【讨论】:

    【解决方案2】:
    foreach ($values as $value)
    {
        if (strlen((string)$value) >= 10)
            echo $value;
    }
    

    【讨论】:

    • 您必须接受其中一个答案。所以这个话题可以结束了。由于几乎所有的都是相同的,所以标记哪一个并不重要。
    【解决方案3】:

    试试这个-

    foreach($my_arr as $val)
    {
        if(strlen((string)$val) >=10)
           // more than or equal to 10
        else
           // less than 10
    }
    

    【讨论】:

      【解决方案4】:

      试试这个:

      <?php
          $values = array(123123123, 53453453452345, 123, 9979797979797979);
          $string = implode(',',$values);
          preg_match_all('/(\d{10,})/', $string, $matches);
          print_r($matches[1]);
      ?>
      

      可能比较费时间……呵呵

      【讨论】:

        猜你喜欢
        • 2013-11-01
        • 2019-02-16
        • 1970-01-01
        • 2019-11-03
        • 1970-01-01
        • 1970-01-01
        • 2023-03-20
        • 2021-12-04
        • 2015-08-25
        相关资源
        最近更新 更多