如何将索引中的数组对象更改为单个数组对象

时间:2017-05-18 01:50:16

标签: php arrayobject

我有这种数组对象

local date = '05/17/2017 05:17:00 PM'
local month, day, year, hours, minutes, seconds, amPm = date:match('^(%d%d)/(%d%d)/(%d%d%d%d) (%d%d):(%d%d):(%d%d) ([AP]M)$')
if not month then
    -- Our entire match failed, and no captures were made
    error('could not parse date "' .. date .. '"')
end
if amPm == 'PM' then
    hours = string.format('%2d', tonumber(hours) + 12)
end
local newDate = string.format(
    '%s-%s-%s %s:%s:%s',
    year, month, day, hours, minutes, seconds
)
print(newDate) -- 2017-05-17 17:17:00

我想将其改为像这样

$data = [
    1 => {
        "id": 1
        "time_in": "08:00:00"
        "time_out": "17:00:00"
    }
]

我不知道该怎么做,我应该使用循环还是它的功能呢?

2 个答案:

答案 0 :(得分:0)

您可以先从集合中获取项目,这样它就是一个数组。然后你可以以任何你想要的方式转换它。请尝试以下。

$items = $data->all();  
array_values($items)

答案 1 :(得分:0)

您提议将其更改为的结构无效,也不会对您已有的结构有任何价值。

1 => {
    ...

此处1是您的数组键;你没有被迫做任何事情。

也许根本不需要数组,在这种情况下只需删除方括号即可。您发布的代码示例向我建议您可能还需要查看json_encode()http://php.net/manual/en/function.json-encode.php