如何避开PHP数组强制键

时间:2018-10-15 06:49:35

标签: php arrays key

我有一个非常简单的数组,希望在其中添加尽可能简单的设置。就我而言,如果我不需要第二个值,则不需要添加它。

代码

$settings = [
  'my_string',
  'my_array' => 'hello'
];

print_r($settings);

结果

我的方法的问题在于,my_string被视为一个值,并且键0被添加了。

Array
(
    [0] => my_string
    [my_array] => hello
)

我可以检查键是否是数字,在这种情况下,请确定我没有使用第二个值。

有更好的方法吗?

我知道我可以使用多个嵌套数组,但是简单性就消失了。

1 个答案:

答案 0 :(得分:1)

以您编写它的方式,如果没有某种键,就无法访​​问值'my_string'。任何值总是有一个键,如果您不指定值,PHP会生成它们,就好像它们是 actual 数组中的索引一样(PHP'arrays'实际上是字典/ maps / etc。在没有指定键的情况下具有默认行为)。

$settings = [
  'name' => 'my_string',
  'my_array' => 'hello'
];

如果您不想使用$settings[0](我也不想),则可能应该为'my_string'应该使用的名称确定一个名称,并将其用作它的密钥。