首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较两个多维数组

比较两个多维数组
EN

Stack Overflow用户
提问于 2017-10-21 15:49:16
回答 1查看 617关注 0票数 0

我有两个多维数组,

代码语言:javascript
复制
$textEvaluasi = [
                [0]=>[
                      [0]     => "BTC Hotel",
                      [1]     => "Hotel Jaya"
                     ]
                     ,
                [3]=>[
                      [0]     => "BTC Hotel"
                     ]
                     ,
                [4]=>[
                      [0]     => "Lokasi BTC Hotel"
                     ]
                     ,
                [5]=>[
                      [0]     => "Lokasi BTC Hotel"
                     ]
                ];

和:

代码语言:javascript
复制
$hasil =                  [
                            [0]=>[
                                  [0]     => "BTC Hotel",
                                  [1]     => "Hotel Jaya"
                                 ]
                                 ,
                            [3]=>[
                                  [0]     => "BTC Hotel"
                                 ]
                                 ,
                            [4]=>[
                                  [0]     => "BTC Hotel"
                                 ]
                                 ,
                            [5]=>[
                                  [0]     => "BTC Hotel"
                                 ]
                            ];

我需要比较$textEvaluasi$hasil,如果键和值匹配,那么我将打印键和值。

我试过了,但它不能正常工作。这是我目前正在做的事情:

代码语言:javascript
复制
foreach ($textEvaluasi as $key => $value) {
  foreach ($value as $key2 => $value2) {
      foreach ($hasil as $key3 => $value3) {
        foreach ($value3 as $key4 => $value4) {
          if (strtolower($textEvaluasi[$key][$key2]) === strtolower($hasil[$key3][$key4])){
            echo $key . $value2; 
          }
        }
      }
     echo "<br>"; 
  }
}

我的代码的输出是:

代码语言:javascript
复制
 [0] -> BTC Hotel
 [3] -> BTC Hotel
 [4] -> BTC Hotel
 [5] -> BTC Hotel

预期输出:

代码语言:javascript
复制
[0] -> BTC Hotel, Hotel Jaya
[3] -> BTC Hotel

非常感谢您的帮助,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-10-21 16:27:37

为此,您可以使用array_filter,如下所示:

代码语言:javascript
复制
$result = array_filter($textEvaluasi, function ($arr, $key) use ($hasil) {
    return $hasil[$key] === $arr;
}, ARRAY_FILTER_USE_BOTH);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46861206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档