首頁 > 後端開發 > php教程 > 急求三元运算符的意义

急求三元运算符的意义

WBOY
發布: 2016-06-13 12:59:32
原創
1177 人瀏覽過

急求三元运算符的意思
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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板