dpdp42233 2017-11-04 17:26
浏览 151
已采纳

在多维数组中查找匹配项

I have an array that contains phone numbers in different format:

$myArr[0][0] == '122-33-2222';
$myArr[1][0] == '(122) 433-5555';
$myArr[2][0] == '122 644.8888';

I need to check if another number is in that array. I assume I need to loop through array and strip all non-numeric values before I compare.

$findNumber = 122.433.5555;
$varPhone = preg_replace("/[^0-9,.]/", "", $findNumber);

foreach ($myArr AS $phone) {
   if (preg_replace("/[^0-9,.]/", "", $phone) == $varPhone) {
      echo "found";
   } else {
      echo "not found";
   }
}

I think I'm close but it's not quite there. What am I missing?

  • 写回答

4条回答 默认 最新

  • dongshuo6185 2017-11-04 17:36
    关注

    The phone number is in the key [0] of each first-level array element, so you can't compare each instance of $phone directly. Also, I would replace all non-digit characters so that different notations still turn out as the same number.

    <?php
    // initialize array for the sake of this demo, to make this snippet work
    $myArr = array(array(), array(), array());
    $myArr[0][0] = '122-33-2222';
    $myArr[1][0] = '(122) 433-5555';
    $myArr[2][0] = '122 644.8888';
    
    $findNumber = "122.433.5555";
    
    function cleanNumber($in) {
      return preg_replace("/[^0-9]/", "", $in);
    }
    
    foreach ($myArr AS $phone) {
       // the number is in the key [0] for each first-level array element
       if (cleanNumber($phone[0]) == cleanNumber($findNumber)) {
          echo "found<br>";
       } else {
          echo "not found<br>";
       }
    }
    

    this will output:

    not found
    found
    not found
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?