[英]How to determine whether PHP constant array key exists?
我想在 PHP 5.6 中使用数组作为常量。 问题是:如何检查数组中是否存在键“a”并使“Test2”也返回true?
我现在的代码是这样的:
const ARR = array(
'a' => 'first',
'b' => 'second'
);
$test1 = defined("ARR");
$test2 = defined("ARR['a']");
echo '<br>Test1: ';
var_dump($test1);
echo '<br>Test2: ';
var_dump($test2);
结果:
Test1: bool(true)
Test2: bool(false)
您需要使用array_key_exists函数
var_dump(array_key_exists('a', ARR));
defined() 检查常量是否已定义,因此您可以使用is_array(ARR);
额外检查常量是否为数组is_array(ARR);
示例:
<?php
const ARR = array(
'a' => 'first',
'b' => 'second'
);
$test1 = array_key_exists('a', ARR);
$test2 = array_key_exists('c', ARR);
echo 'Test1: ';
var_dump($test1);
echo 'Test2: ';
var_dump($test2);
输出:
Test1: bool(true)
Test2: bool(false)
注意:
它仅适用于 PHP 版本 >= 5.6 工作小提琴
在php7+
您可以使用空合并:
if(self::ARR['a']??false){
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.