I have an JSON object like
[{"schedule_time_id":1},{"schedule_time_id":2}]
I want to convert this JSON object into the following format
[1,2]
I have used already (array) $object
to convert it but doesn't get the targeted format.
There are plenty possibilites to achieve that. One of them would be to use array map over the decoded json.
$result = array_map(function ($item) {
return $item->schedule_time_id;
}, json_decode($json));
What you have is a json string. You can use json_decode
to convert it an associative array
Like:
$str = '[{"schedule_time_id":1},{"schedule_time_id":2}]';
$arr = json_decode( $str, true );
echo "<pre>";
print_r( $arr );
echo "</pre>";
This will look like:
Array
(
[0] => Array
(
[schedule_time_id] => 1
)
[1] => Array
(
[schedule_time_id] => 2
)
)
If you want to convert it to simple array(Not associative array), you can use array_column
$newArr = array_column( $arr, 'schedule_time_id' );
echo "<pre>";
print_r( $newArr );
echo "</pre>";
This will result to:
Array
(
[0] => 1
[1] => 2
)
To make it shorter, you can:
$str = '[{"schedule_time_id":1},{"schedule_time_id":2}]';
$newArr = array_column( json_decode( $str, true ) , 'schedule_time_id' );
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.