> 백엔드 개발 > PHP 튜토리얼 > 急求三元运算符的意义

急求三元运算符的意义

WBOY
풀어 주다: 2016-06-13 11:06:46
원래의
870명이 탐색했습니다.

急求三元运算符的意思
function meth()
{
$a=$_POST["user"];
return isset($a) ? (is_array($a) ? $a : trim($a) : NULL;
}
麻烦解释下PHP里面这个三元运算符什么意思啊?
------解决方案--------------------

function meth()<br />{<br />	$a=$_POST["user"];<br /><br />	$rtval = '';<br />	if(isset($a)){<br />		if(is_array($a)){<br />			$rtval = $a;<br />		}else{<br />			$rtval = trim();<br />		}<br />	}else{<br />		$rtval = NULL;<br />	}<br />	<br />	return $rtval;<br />}
로그인 후 복사

------解决方案--------------------
<br />if(isset($a)){<br /> if ((is_array($a)){<br />    return $a;<br />}else{<br />return trim($a);<br />} <br />}else{<br /> return NULL;<br />}<br />
로그인 후 복사

------解决方案--------------------
引用:
function meth()
{
$a=$_POST["user"];
return isset($a) ? (is_array($a) ? $a : trim($a) : NULL;
}
麻烦解释下PHP里面这个三元运算符什么意思啊?

少了一个反括号吧?
举个例子 求两者大的那个
$a=0; $b =1;
echo $a > $b(条件) ? $a(如果条件成立):$b(如果不成立);
输出 1;
------解决方案--------------------
<br />//装B写法<br />function meth()<br />{<br />$a=$_POST["user"];<br />return isset($a) ? (is_array($a) ? $a : trim($a) : NULL;<br />}<br /><br />//还原一下<br />function meth()<br />{<br /> $a = $_POST["user"];<br /> if( isset($a)){<br />   if( is_array($a)) {<br />          return $a;<br />   }else {<br />        return trim(a);<br />   }<br />}else {<br />return null;<br />}<br />}<br /><br /><br />
로그인 후 복사

简易简单的东西,简单点写,没必要折腾成那样。
第二个建议,函数里接收$_POST 参数,是很不人道的,函数应该做得更单纯些,就是对参数进行处理,保证参数全从入口得到。
第三个建议,就算要这样写,如果 不存在$_post['user']; 函数也挂了。 
建议原函数更改为
<br /><br />function meth()<br />{<br /><br />return  isset($_POST["user"]) ? (is_array($_POST["user"]) ? $_POST["user"] : trim($_POST["user"]) : NULL;<br />}<br />return <br />
로그인 후 복사

------解决方案--------------------
三元就是3个元素,
条件?结果1:结果2


两个问号是 "结果1"里面放了另外一个3元运算

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿