如何绕过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'
];