当我使用此代码时,
$views = array();
$views[]=['somevalue'=>'customerview.php'];
$views[]=['anothervalue'=>'ordersview.php'];
我明白了,
Array
(
[0] => Array
(
[somevalue] => customerview.php
)
[1] => Array
(
[anothervalue] => ordersview.php
)
)
如何在不使用array_shift之类的情况下使其摆脱初始数组?为什么把数值数组放在第一位而不仅仅是这个,
Array
(
[somevalue] => customerview.php
[anothervalue] => ordersview.php
)
编辑:我如何使用短语法?这可能吗?
答案 0 :(得分:3)
执行此操作时:
$views[] = ['somevalue' => 'customerview.php'];
你说,"将另一个元素推送到数组上,并为其分配以下值:
'somevalue' => 'customerview.php'
但是这个数量是一个数组键和一个数组值。所以你正在做的是在你的$views
数组中插入一个本身包含数组键和数组值的元素。这解释了您所看到的行为。
这可以为您提供所需的结果:
$views = array();
$views['somevalue'] = 'customerview.php';
$views['anothervalue'] ='ordersview.php';
或者,简写:
$views = [
'somevalue' => 'customerview.php',
'anothervalue' => 'ordersview.php'
];
答案 1 :(得分:1)
或者你可以这样做:
$value1 = 'first';
$value2 = 'second';
$array = array(
$value1 => 'customerview.php',
$value2 => 'ordersview.php'
);
答案 2 :(得分:1)
$views
已经是一个数组,因此当您使用$views[]
时,您将在现有数组中添加另一个数组。
您需要使用
$views = array(
'somevalue' => 'customerview.php',
'anothervalue' => 'ordersview.php'
)