怎么用函数将一个关联数据里第一个下标的值和第二个下标的值对应起来?

发布于 2022-09-04 12:58:46 字数 513 浏览 19 评论 0

$rs = [

"h" => ["id", "name", "region"],
"d" => [
    [100, "wang", "shanghai"],
    [101, "huang", "beijing"],
    [102, "zhang", "beijing"],
    [103, "li", "shanghai"],
]

];

$ret = rs2Array($rs);
print json_encode($ret);
/* 期望结果为:
[

{id: 100, name: "wang", region: "shanghai"},
{id: 101, name: "huang", region: "beijing"},
{id: 102, name: "zhang", region: "beijing"},
{id: 103, name: "li", region: "shanghai"}

]
*/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初吻给了烟 2022-09-11 12:58:46
$rs = [
    "h" => ["id", "name", "region"],
    "d" => [
        [100, "wang", "shanghai"],
        [101, "huang", "beijing"],
        [102, "zhang", "beijing"],
        [103, "li", "shanghai"],
    ]
];

foreach ($rs['d'] as $v) {
    $arr[] = array_combine($rs['h'], $v);
}

var_dump(json_encode($arr));
骄傲 2022-09-11 12:58:46
$rs = [
    "h" => ["id", "name", "region"],
    "d" => [
        [100, "wang", "shanghai"],
        [101, "huang", "beijing"],
        [102, "zhang", "beijing"],
        [103, "li", "shanghai"],
    ]
];
$ret = rs2Array($rs);
print json_encode($ret);

rs2Array函数如下:

function rs2Array($arr = []) {
    $keyArr = $arr['h'];
    $valueArr = $arr['d'];
    return array_map(function($a) use($keyArr) {
        return array_combine($keyArr, $a);
    }, $valueArr);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文