如何在PHP中将对象转换为特定格式的数组

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.

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' );

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));