php - 如何返回在条件中评估的变量的名称
问题描述
我想找出在条件中检查时第一个具有错误值的变量的名称。例如:
if (!$value1 || !$value2 || !$value3){
// return the name of the first false variable - but how?
}
PHP 评估括号中的条件,如果其中一个变量为假,那么我们执行代码。诀窍是如何让 PHP 告诉我哪个变量是错误的,而无需再次手动检查它们。有任何想法吗?
到目前为止,我有一个想法,但效率很低。
function checkFalseVars($vars){
foreach($vars as $var){
$v = $GLOBALS[$var];
if (!$v){
return $var;
}
}
return false;
}
$value1 = true;
$value2 = false;
$value3 = false;
$vars = array('value1','value2','value3');
if (!$value1 || !$value2 ||!$value3){
return checkFalseVars($vars);
// returns 'value2'
}
解决方案
由于您要求提供变量名...
function varName( $v ) {
$trace = debug_backtrace();
$vLine = file( __FILE__ );
$fLine = $vLine[ $trace[0]['line'] - 1 ];
preg_match( "#\\$(\w+)#", $fLine, $match );
print_r( $match );
}
$value1 = true;
$value2 = true;
$value3 = false;
$values = array($value1, $value2, $value3);
for($i = 0; $i < count($values); $i++)
{
if($values[$i] == false)
{
varName($values[$i]);
}
}
推荐阅读
- python - 比较python中的浮点数
- python - 无法加载本机 TensorFlow 运行时:ImportError: DLL load failed with error code -1073741795
- amazon-web-services - 在空闲且仅在一个专用节点上部署 Pod
- react-native - 在 whatsup 或 gmail 上分享 waze 链接的功能?
- python - 从扫描文档中的图表中提取数据
- nginx - nginx 在 Auth0 回调上显示 404
- python - Matplot 图像被 Python 压缩
- javascript - 根据变量响应隐藏 div
- javascript - 有没有更好的方法来每次用不同的颜色、x 和速度调用这些球?
- macos - Mac npm 安装权限被拒绝