【发布时间】:2011-05-21 09:56:57
【问题描述】:
我有一个多维数组。我需要一个检查指定键是否存在的函数。
我们来看看这个数组
$config['lib']['template']['engine'] = 'setted';
当我调用一个函数时,它应该返回 true:
checkKey('lib','template','engine');
//> Checks if isset $config['lib']['template']['engine']
请注意,我的数组不仅是 3 维的。即使只有 1 个维度,它也应该能够检查:
checkKey('genericSetting');
//> Returns false becase $c['genericSetting'] isn't setted
目前我正在使用糟糕的eval 代码,我想听听建议:)
【问题讨论】:
-
$config保证是全局变量吗?genericSetting会在哪里?因为它现在不存在于您的示例$config中。 -
@bolt: 是的,在你的函数中你可以简单地做一个
global $config;对于checkKey('genericSetting');它应该返回false,因为正如你所说的数组中没有这个键 -
@yes123:好的。意味着当您通过
genericSetting时,它会检查$config['genericSetting'],对吗? -
你看到这里给出的例子了吗:php.net/manual/en/function.array-key-exists.php
-
只是出于兴趣,
isset($config['lib']['template']['engine'])有什么问题?
标签: php arrays multidimensional-array