如何检查是否设置了A\B::X ['Y'] ['Z']这样的常量元素?
<?php
namespace A;
class B
{
const X = [
'Y' => [
'Z' => 'value'
]
];
}
var_dump(defined('\A\B::X') && isset(\A\B::X['Y']['Z']));
Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in [...] on line 13
最佳答案
isset
仅适用于变量。您可以使用以下代码来检查A\B::X['Y']['Z']
是否存在:
var_dump(
defined('\A\B::X') &&
array_key_exists('Y', \A\B::X) &&
array_key_exists('Z', \A\B::X['Y'])
);
关于php - 检查PHP 5.6中类的数组常量中元素的存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34843643/