通过添加新的键值从两个数组创建新的php数组

时间:2016-06-07 16:19:14

标签: php arrays json

我有两个数组,

$category = array('available', 'notavailable' );
$values = array(1, 2 );

现在我想获得如下的JSON输出,

[{category: 'available', value:1}{category: 'notavailable', value:2}]

我尝试使用array_merge array_combine,但无法获得新的Key值类别和值,

我怎么能得到它?

谢谢,

2 个答案:

答案 0 :(得分:1)

如果您有固定密钥,则可以使用array_map

<?php

$category = array('available', 'notavailable' );
$values = array(1, 2 );

$array = array_map(function($category, $value) {
    return ['category' => $category, 'value'=>$value];
}, $category, $values);

echo "<pre>";
var_dump(json_encode($array));
echo "</pre>";

输出:

string(74) "[{"category":"available","value":1},{"category":"notavailable","value":2}]"

答案 1 :(得分:0)

我认为你必须这样做:

$result = array();
for ($i = 0; $i < count($category); $i++) {
    $result[] = array(
       'category' => $category[$i],
       'value' => $values[$i]
    );
}

echo json_encode($result);