我想明白這一點:「?」是什麼意思「?:」操作符PHP
$page = isset($requestvars['page']) ? $requestvars['page'] : 1;
$product = isset($requestvars['product']) ? $requestvars['product'] : ''
但我不理解什麼這會像一個簡單的如果?
謝謝
我想明白這一點:「?」是什麼意思「?:」操作符PHP
$page = isset($requestvars['page']) ? $requestvars['page'] : 1;
$product = isset($requestvars['product']) ? $requestvars['product'] : ''
但我不理解什麼這會像一個簡單的如果?
謝謝
它被稱爲ternary operator,基本上取代if else
塊。
例如:
$page = isset($requestvars['page']) ? $requestvars['page'] : 1;
可以重寫爲:
if(isset($requestvars['page']))
{
$page = $requestvars['page'];
}
else
{
$page = 1;
}
三元運算符告訴PHP如果該值被設置爲分配給$requestvars['page']
$page
,否則到指定1
。
哇,你輸入的速度非常快,我只是過了一半...現在我剛剛意識到你在他的帖子上做了一個修改。 – Albzi
這被稱爲三元操作。它基本上是內聯的。
$product = isset($variable) ? do something if true : do something if false;
它們只是寫入內聯if的簡寫形式。測試時保持乾淨的代碼非常有用。
這是一個ternary operator。它像if語句一樣工作,但它更短。
echo ($a === true) ? 'yep' : 'nope';
由於PHP 5.3,還有一個最短的版本,?:
運營商,只測試表達式並返回在成功的情況下表達自己,否則其他選項。
$foo = getSomethingFromTheDb();
$default = new stdObject;
$object = $foo ?: $default;
'?'的意思是如果。 ':'表示其他 –
http://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary –
這是真的嗎??是的! ':'否:-( – DanFromGermany