php - PHP比较多维数组
问题描述
我有一个看起来像这样的 PHP 数组...
Array
(
[section1] => Array
(
[1] => Array
(
[item1] => 'green'
[item2] => 'red'
[item3] => 'purple'
)
[2] => Array
(
[item1] => 'green'
[item2] => 'black'
[item3] => 'purple'
)
)
[section2] => Array
(
[1] => Array
(
[item1] => 'orange'
[item2] => 'pink'
)
[2] => Array
(
[item1] => 'gray'
[item2] => 'pink'
[item3] => 'yellow'
)
)
我试图计算和之间的匹配1
,1
因此在上面的示例中,结果将是2
第 1 节和第 2 节的结果。然后我试图将其输出为一个新数组。到目前为止,我有这个通过正确的部分循环,但从这里迷路了
foreach($array1 as $array1item) {
foreach ($array1item as $array1nesteditem) {
echo 'test | ';
}
}
通过执行此嵌套循环,我是否走在正确的轨道上?还是有更直接的方法?
解决方案
$newArray = [];
foreach ($array1 as $key => $array1item) {
$newArray[$key] = count(array_intersect(...$array1item));
}
推荐阅读
- python-3.x - 使用库 pyttsx3 的对象没有属性错误
- scala - 从多个主题读取并写入单个主题 - Spark Streaming
- c++ - FFmpeg C++ 在单独的线程中解码
- javascript - 在这个例子中如何发出 GET 请求
- elasticsearch - FOSElastica 无法识别我的 ElasticSearch 用户名和密码
- powershell - 如何使用 Powershell 创建 MSQM 触发规则?
- oracle-golden-gate - 使用 Oracle GoldenGate 微服务架构获取实时更新的数据并发送到 rest api
- python - 在 setup.py 期间创建临时文件
- maven - 在 Maven 中运行 JavaFX 和 JMonkey 项目的问题
- dynamics-crm - 如何找出 Dynamics CRM 中的哪个实体是系统?