php - php中基于数组输入的批量好友请求插入
问题描述
我有一个数组,
Array (
[0] => Array ( [did] => 12 [uid] => 21 )
[1] => Array ( [did] => 10 [uid] => 12 )
[2] => Array ( [did] => 9 [uid] => 11 )
[3] => Array ( [did] => 10 [uid] => 11 )
[4] => Array ( [did] => 12 [uid] => 11 )
)
我希望所有具有相同did
值的 uid 相互连接。例如- fordid=12, uids- 21 & 11
应该相互连接。我正在努力弄清楚如何在 PHP 和 MySQL 中做到这一点?请注意,数组是使用查询动态生成的,并且可以有很多行。
解决方案
您可以遍历数组并使用did
作为键。如果键已经存在,则添加到数组中,否则使用该键创建一个新条目:
$items = [
["did" => 12, "uuid" => 21],
["did" => 10, "uuid" => 12],
["did" => 9, "uuid" => 11],
["did" => 10, "uuid" => 11],
["did" => 12, "uuid" => 11],
];
$result = [];
foreach ($items as $i) {
array_key_exists($i["did"], $result) ? $result[$i["did"]][] = $i["uuid"] : $result[$i["did"]] = [$i["uuid"]];
}
print_r($result);
结果:
Array
(
[12] => Array
(
[0] => 21
[1] => 11
)
[10] => Array
(
[0] => 12
[1] => 11
)
[9] => Array
(
[0] => 11
)
)
推荐阅读
- c# - 在存储过程中添加一对多记录
- ssh - 如何使用 scp 通过 ssh 转发的堡垒从服务器获取文件?
- swift - 导航到另一个屏幕时,导航栏颜色显示一段时间为白色,原始颜色为红色
- oracle - PLS-00103:在预期以下情况之一时遇到符号“FOR”:
- python - 为什么即使在关闭临时文件后我也能够写入和读取它?
- c# - 如何展示 AdMob 的真实广告?我可以展示测试广告
- django - DRF GnericViewset 不接受 json 数据
- tabindex - w2ui 1.5 tabIndex 不适用于列表和多选
- netlify - 将 www 和 apex 域永久重定向到 netlify 上的子域
- flutter - 在 Flutter 项目中找不到 Android 资源