php - 如果某些值匹配,如何用其他填充数组
问题描述
嗨我正在尝试填充这个数组
Array
(
[0] => Array
(
[id] => 107
[name] => Sara
[msgSinleer] => 2
[subject] => Array
(
)
)
[1] => Array
(
[id] => 110
[name] => Manuela
[msgSinleer] => 27
[subject] => Array
(
)
)
)
如果其中一个 ID 匹配,则使用此数组的值
Array
(
[0] => Array
(
[id] => 110
[Cliente] => Alexis
[body] => Hola
[fecha] => 06/01/2021 11:35 AM
[status] => 1
[tiempoSinLeer] => 15 01:00
)
[1] => Array
(
[id] => 110
[Cliente] => Alexis
[body] => Hola asd asdasd
[fecha] => 05/26/2021 11:35 AM
[status] => 1
[tiempoSinLeer] => 21 01:00
)
[2] => Array
(
[id] => 107
[Cliente] => George
[body] => vhgfshsgf
[fecha] => 06/15/2021 03:48 PM
[status] => 1
[tiempoSinLeer] => 1 08:48
)
)
所以我试图以这种方式显示结果,但我不知道该怎么做,我尝试了其他一些方法,如 array_search、array_in 和另一个 foreach 中的 foreach 试图查看里面是否可以执行 if 语句,但它不起作用。
Array
(
[0] => Array
(
[id] => 107
[name] => Sara
[msgSinleer] => 2
[subject] => Array
(
[Cliente] => George
[body] => vhgfshsgf
[fecha] => 06/15/2021 03:48 PM
[status] => 1
[tiempoSinLeer] => 1 08:48
)
)
[1] => Array
(
[id] => 110
[name] => Manuela
[msgSinleer] => 27
[subject] => Array
(
[Cliente] => Alexis
[body] => Hola
[fecha] => 06/01/2021 11:35 AM
[status] => 1
[tiempoSinLeer] => 15 01:00
),
(
[Cliente] => Alexis
[body] => Hola asd asdasd
[fecha] => 05/26/2021 11:35 AM
[status] => 1
[tiempoSinLeer] => 21 01:00
)
)
)
这是我拥有的代码,它给我带来了数组
foreach ($query2 as $key2) {
$result2[] = $key2;
}
foreach ($query as $value) {
array_push($result , array(
"id" => $value['id'],
"name" => $value['name'],
"msgSinLeer" => $value['msgSinleer'],
"subject" => array(),
));
}
print_r ($result);
print_r ($result2);
我是 php 新手,所以如果有人可以帮助我,我将不胜感激
解决方案
遵循逻辑可能会对您有所帮助。循环遍历数组$arr0
以查找匹配id
的$arr1
. 找到匹配项后,推送到 中的“主题”元素$arr0
。
foreach($arr0 as $key => $record) {
foreach($arr1 as $subject) {
if($record['id'] === $subject['id']) $arr0[$key]['subject'][] = $subject;
}
}
推荐阅读
- tensorflow - 不平衡数据集对象检测
- javascript - Jquery 无法处理外部 JS 文件
- java - Java:监听第二次按键
- jenkins - 使用 Jenkins 运行 ansible-playbook 时出错
- c# - C#日期格式-这是什么格式的日期
- complexity-theory - 是否存在我们最初没有的 O(1) 算法的问题?
- node.js - Winston- 记录堆栈错误
- ruby-on-rails - 使用正则表达式在rails中验证密码中没有空格
- python - 将 str 转换为 datetime 会使所有值都转到 NaTType
- apache-spark - 我的 spark RDD 连接可以有多大?