简体   繁体   中英

creating new php array from two arrays by adding new keys values

I have below two arrays,

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

Now i want to get JSON output as below,

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

I tried using array_merge array_combine but could not got desired outlut with new Key values category and value,

How can i get that?

Thanks,

You can use array_map , if you have fixed keys:

<?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>";

Output:

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

I think you must doing like this:

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

echo json_encode($result);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM