array_unshift - 如何使用键名将数组放在顶部

时间:2012-12-04 17:51:06

标签: arrays associative-array woocommerce

我将数组元素存储在$ sal中,放在数组$ fields ['billing']的开头。我正在使用array_unshift。

$sal = array(
    'label'       => __('Tratamiento', 'woocommerce'),
    'placeholder' => _x('', 'placeholder', ''),
    'required'    => 0,
    'clear'       => true,
    'class'         => array('form-row  form-row-wide'),
    'type'        => 'select',
    'options'     => array(
        'Señor' => __('Señor', 'woocommerce' ),
        'Señora' => __('Señora', 'woocommerce' ),
        'Señorita'=> __('Señorita', 'woocommerce')
        )
     ); 

array_unshift($fields['billing'] , $sal);

array_unshift在0键索引处的数组开头添加元素。在print_r之后我看到:

[0] => Array
        (
            [Label] => Treatment
            [Placeholder] => 
            [Required] => 0
            [Clear] => 1
            [Class] => Array
                (
                    [0] => form-row-row-wide form
                )

            [Type] => select
            [Options] => Array
                (
                    [Lord] => Lord
                    [Lady] => Lady
                    [Ms.] => Miss
                )

        )

我的问题只是我只想将键值从[0]改为['saluation'],我可以简单地用:

     $fields['billing']['saluation'] = $fields['billing'][0];
     unset($fields['billing'][0]);

但我也希望它在数组的开头。我尝试了很多技巧,但仍无法解决这个问题。

这是我正在处理的实际的woocommerce字段数组。

1 个答案:

答案 0 :(得分:0)

我刚刚通过array_merge()函数解决了它。

$fields['billing']= array_merge(array('saluation' => $sal), $fields['billing']);