我有一个像
这样的JSON对象[{"schedule_time_id":1},{"schedule_time_id":2}]
我想将此JSON对象转换为以下格式
[1,2]
我已经使用(array) $object
来转换它,但没有获得目标格式。
答案 0 :(得分:3)
有很多可能实现这一目标。其中一个就是在解码的json上使用数组映射。
$result = array_map(function ($item) {
return $item->schedule_time_id;
}, json_decode($json));
答案 1 :(得分:2)
你拥有的是一个json字符串。您可以使用json_decode
将其转换为关联数组
像:
$str = '[{"schedule_time_id":1},{"schedule_time_id":2}]';
$arr = json_decode( $str, true );
echo "<pre>";
print_r( $arr );
echo "</pre>";
这看起来像是:
Array
(
[0] => Array
(
[schedule_time_id] => 1
)
[1] => Array
(
[schedule_time_id] => 2
)
)
如果要将其转换为简单数组(非关联数组),可以使用array_column
$newArr = array_column( $arr, 'schedule_time_id' );
echo "<pre>";
print_r( $newArr );
echo "</pre>";
这将导致:
Array
(
[0] => 1
[1] => 2
)
要缩短时间,您可以:
$str = '[{"schedule_time_id":1},{"schedule_time_id":2}]';
$newArr = array_column( json_decode( $str, true ) , 'schedule_time_id' );