如何简化我的数组代码

Fly*_*Cat 1 php database arrays

我试图将我db返回的结果分配给一个数组

我有

$results = Db::get('get_items', array('id' =>$id));

$Info['items'][1]['title'] = $results[0]['Name'];
$Info['items'][1]['name'] = $results[0]['Filename'];
$Info['items'][1]['type'] = $results[0]['Type];
Run Code Online (Sandbox Code Playgroud)

DB仅返回1行数据.

我需要$info看起来如下

Array
(
    [items] => Array
        (
            [1] => Array
                (
                    [title] => Title test
                    [filename] => test.xml
                    [type] => company
                )

        )

    [mis] => data
)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好的方法来分配价值$info而不仅仅是hardcoded全部.非常感谢!

Bar*_*mar 5

使用数组来描述键映射:

$map = array('Name' => 'title',
             'Filename' => 'name',
             'Type' => 'type');

foreach ($results[0] as $key => $value) {
    $Info['items'][1][$map[$key]] = $value;
}
Run Code Online (Sandbox Code Playgroud)

任何时候你想要执行某种一对一的翻译,你应该立即考虑使用关联数组.