gpt4 book ai didi

PHP - 返回 true|false 的验证函数,如果为 false,则返回一条消息

转载 作者:可可西里 更新时间:2023-11-01 12:46:28 25 4
gpt4 key购买 nike

我有一个验证函数,它返回 truefalse
但是,我希望它在出现问题时提供关于问题是什么的信息。

假设函数是这样的:

function is_valid($val) {
$result = true;
if( rule_1_not_met ) $result = false;
if( rule_2_not_met ) $result = false;
return $result;
}

这样使用的

$val = $_GET['some_param'];
if(!is_valid($val)) $out .= 'Not so helpful feedback.';
...

我以为我可以这样改:

function is_valid($val) {
$result = array(true, array());
if( rule_1_not_met ) $result[1][] = 'Reason 1';
if( rule_2_not_met ) $result[1][] = 'Reason 2';
if(count($result[1]) > 0) $result[0] = false;
return $result;
}

然后像这样使用它:

$val = $_GET['some_param'];
$validation_result = is_valid($val);
if(!$validation_result[0]) $out .= implode('<br/>', $validation_result[1]);
...

我的问题是

  • 我会因为这个而产生意想不到的结果吗?
  • 是否有更好的方法来实现这一点?

附言将使这个社区成为 wiki

最佳答案

你走在正确的轨道上,但我想这样做

function is_valid($val,&$mes) {
$result = true;
if( rule_1_not_met ) { $mes[]='message one'; $result = false; }
if( rule_2_not_met ) { $mes[]='Message two'; $result = false; }
return $result;
}

$mes=array();
if(isvalid($val,$mes) ===false) $out .= implode('<br/>', $mes);

关于PHP - 返回 true|false 的验证函数,如果为 false,则返回一条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5765057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com