我想从PHP中的数组中得到一个特定格式的数组

我想从PHP中的数组中得到一个特定格式的数组,php,arrays,Php,Arrays,我想将现有数组修改为特定格式请查看下面的数组我有什么和我想要什么 我将数组设置为: Array ( [0] => Array ( [block_id] => 1 [title] => Test1 [identifier] => test1 [content] => some test data [creation_time]

我想将现有数组修改为特定格式请查看下面的数组我有什么和我想要什么

我将数组设置为:

Array
(
    [0] => Array
        (
            [block_id] => 1
            [title] => Test1
            [identifier] => test1
            [content] => some test data
            [creation_time] => 2019-09-03 09:47:35
            [update_time] => 2019-09-03 09:47:35
            [is_active] => 1
        )

    [1] => Array
        (
            [block_id] => 2
            [title] => test2
            [identifier] => twst2
            [content] => dfdsffsdfsdfsfsdf
            [creation_time] => 2019-09-03 09:48:03
            [update_time] => 2019-09-03 09:48:03
            [is_active] => 1
        )

)
$options = [
        ['value' => 'test1', 'label' => __('Test1')],
        ['value' => 'test2', 'label' => __('Test2')],
        ['value' => 'test3', 'label' => __('Test3')],
        ['value' => 'test4', 'label' => __('Test4')],
        ['value' => 'test5', 'label' => __('Test5')],
        ['value' => 'test6', 'label' => __('Test6')]
        ];
我希望这个数组是:

Array
(
    [0] => Array
        (
            [block_id] => 1
            [title] => Test1
            [identifier] => test1
            [content] => some test data
            [creation_time] => 2019-09-03 09:47:35
            [update_time] => 2019-09-03 09:47:35
            [is_active] => 1
        )

    [1] => Array
        (
            [block_id] => 2
            [title] => test2
            [identifier] => twst2
            [content] => dfdsffsdfsdfsfsdf
            [creation_time] => 2019-09-03 09:48:03
            [update_time] => 2019-09-03 09:48:03
            [is_active] => 1
        )

)
$options = [
        ['value' => 'test1', 'label' => __('Test1')],
        ['value' => 'test2', 'label' => __('Test2')],
        ['value' => 'test3', 'label' => __('Test3')],
        ['value' => 'test4', 'label' => __('Test4')],
        ['value' => 'test5', 'label' => __('Test5')],
        ['value' => 'test6', 'label' => __('Test6')]
        ];
试试这个解决方案

$data = Array ( Array
            (
                'block_id' => 1,
                'title' => 'Test1'
            ), Array
            (
                'block_id' => 2,
                'title' => 'test2'
            )

            );

    foreach($data as $k => $val){

        $options[$k]['value'] = $val['title'];
        $options[$k]['label'] = '__("'.ucfirst($val['title']).'")';

    }
    echo "<pre>";
    print_r( $options);

如果$array是您的数组,则

<?php
foreach($array as &$value) {
    $value = array(
        'value' => $value["identifier"],
        'label' => "__('".$value["title"]."')"
    );
};
unset($value);
?>
如果您试图将现有数组修改为特定格式,下一种方法可能会有所帮助。如果在$value前面加上&,则$value将通过引用分配,您可以直接修改它

试试这个解决方案

$data = Array ( Array
            (
                'block_id' => 1,
                'title' => 'Test1'
            ), Array
            (
                'block_id' => 2,
                'title' => 'test2'
            )

            );

    foreach($data as $k => $val){

        $options[$k]['value'] = $val['title'];
        $options[$k]['label'] = '__("'.ucfirst($val['title']).'")';

    }
    echo "<pre>";
    print_r( $options);
foreach$数组为$k=>$val { $options[]=['val'=>$val['identifier'],'label'=>。$val['title'].];
}

您漏掉了一点,它显示了您迄今为止为使此功能正常运行所做的努力。