Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何绕过PHP数组强制键_Php_Arrays_Key - Fatal编程技术网

如何绕过PHP数组强制键

如何绕过PHP数组强制键,php,arrays,key,Php,Arrays,Key,我有一个非常简单的数组,我希望能够添加尽可能简单的设置。在我的例子中,如果我不需要第二个值,我就不需要添加它 密码 后果 我的方法的问题是my_string被视为一个值,并且添加了键0 Array ( [0] => my_string [my_array] => hello ) 我可以检查键是否是一个数字,在这种情况下,我可以确定我没有使用第二个值 有更好的方法吗 我知道我可以使用多个嵌套数组,但简单性已经消失。按照您编写的方式,如果没有某种键,您将无法访问值'my

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

密码 后果 我的方法的问题是
my_string
被视为一个值,并且添加了键
0

Array
(
    [0] => my_string
    [my_array] => hello
)
我可以检查键是否是一个数字,在这种情况下,我可以确定我没有使用第二个值

有更好的方法吗


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

按照您编写的方式,如果没有某种键,您将无法访问值
'my_string'
。任何值都有一个键,如果不指定值,PHP将生成它们,就像它们是实际数组中的索引一样(PHP“arrays”实际上是字典/映射等,在没有指定键的情况下具有默认行为)


如果您不想使用
$settings[0]
——我也不想——您可能应该决定
'my_string'
应该是什么名称,并将其用作其键。

可能的重复尝试使用第一个值作为数组键,第二个(可选)作为值,如果不需要,将值设为null/false。我认为这可能是一种更简单、更清晰的方法。数组始终是键值关联。不能没有键或值。如果省略该键,将得到一个隐式数字键。现在,这取决于您希望简化的位置:在解析代码中,还是在编写数组时?可能您想要一种简单的方法来编写数组,因此,是的,在解析代码中,您需要检查键是否为数字。
Array
(
    [0] => my_string
    [my_array] => hello
)
$settings = [
  'name' => 'my_string',
  'my_array' => 'hello'
];