【问题标题】:Map two arrays key and value to create json object in php映射两个数组键和值以在 php 中创建 json 对象
【发布时间】:2015-10-27 17:59:56
【问题描述】:

大家好,我正在尝试将键与 PHP 中的值进行映射以创建 JSON 对象,请有人帮忙。

我的钥匙数组:

[
    "ID",
    "NAME",
    "PRICE",
    "TYPE"
]

我的值数组:

[
   [
        "1",
        "Chicken Royal",
        "25",
        "Sandwich"
    ],
    [
        "2",
        "Beef Whopper",
        "30",
        "Burger"
    ],
    [
        "3",
        "Beef Royal",
        "30",
        "Burger"
    ]
]

我正在寻找的是:

[
    "ID":"1",
    "NAME":"Chicken Royal",
    "PRICE":"25",
    "TYPE":"Sandwich"
]

我用过这个功能

$result = array_map( function($k,$v) { return array('column' => $k,'value' => $v); }, array_keys($columnNames),$values);

【问题讨论】:

  • 到目前为止,您为实现这一目标做了哪些努力?我们不是来为你做你的工作的。
  • @MarcB 我用过这个函数 $result = array_map( function($k,$v){ return array('column' => $k,'value' => $v); }, array_keys($columnNames),$values);
  • 欢迎 SO :-)

标签: php arrays json key


【解决方案1】:

使用array_combine,您可以使用一个数组作为键,另一个数组作为值来创建一个数组。

$keys = [
    "ID",
    "NAME",
    "PRICE",
    "TYPE"
];

$values = [
   [
        "1",
        "Chicken Royal",
        "25",
        "Sandwich"
    ],
    [
        "2",
        "Beef Whopper",
        "30",
        "Burger"
    ],
    [
        "3",
        "Beef Royal",
        "30",
        "Burger"
    ]
];

$results = array_map(function($values) use ($keys) {
    return array_combine($keys, $values);
}, $values);

var_dump($results);

输出:

array(3) {
  [0]=>
  array(4) {
    ["ID"]=>
    string(1) "1"
    ["NAME"]=>
    string(13) "Chicken Royal"
    ["PRICE"]=>
    string(2) "25"
    ["TYPE"]=>
    string(8) "Sandwich"
  }
  [1]=>
  array(4) {
    ["ID"]=>
    string(1) "2"
    ["NAME"]=>
    string(12) "Beef Whopper"
    ["PRICE"]=>
    string(2) "30"
    ["TYPE"]=>
    string(6) "Burger"
  }
  [2]=>
  array(4) {
    ["ID"]=>
    string(1) "3"
    ["NAME"]=>
    string(10) "Beef Royal"
    ["PRICE"]=>
    string(2) "30"
    ["TYPE"]=>
    string(6) "Burger"
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多