加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP – 验证函数返回true | false,如果为false则返回消息

发布时间:2020-12-13 18:19:11 所属栏目:PHP教程 来源:网络整理
导读:我有一个验证函数,返回true或false. 但是,我希望它提供有关问题的信息,当有问题时. 假设函数是这样的: function is_valid($val) { $result = true; if( rule_1_not_met ) $result = false; if( rule_2_not_met ) $result = false; return $result;} 这是用
我有一个验证函数,返回true或false.
但是,我希望它提供有关问题的信息,当有问题时.

假设函数是这样的:

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]);
...

我的问题是

>我在,因为这个出乎意料的结果?
>有没有更好的方法来实现这一目标?

附:会使这个社区维基

你是在正确的轨道,但我想这样做
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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读