我有一系列数组,通常如果我想检查一个值是否存在,我会遍历数组,在 foreach 块内使用 if 语句然后中断或返回,但最近我决定使用 array_flip 翻转数组然后检查是否密钥与 isset 存在:
<?php
$arr = array(1, 0, 'yes', 'no', 'on', 'off' /* more keys */);
/*
foreach($arr as $value) {
if ($value === 'on') { return 'xxx'; }
}
*/
//Alternative
$arrFlipped = array_flip($arr);
if (isset($arrFlipped['on'])) { return xxx; }
?>
数组是由安全数据而不是用户输入组成的,因此这些值始终是有效的键。
我想知道这种方法是否可以,优点和缺点是什么?哪个更快或浪费更少的资源?对不起我的英语...谢谢!
编辑: OP 要求多个值