如果某個變量爲真,我需要將附加數據添加到字符串,如果沒有,我不需要追加任何內容。目前,我正在做:你是否必須在三元運算符PHP中包含一個錯誤的值?
$string = (condition()) ? 'something'.$string.'something' : $string;
有沒有辦法跳過添加虛假選項中三元操作?如果條件爲假,那麼說$ string = $ string似乎很浪費。
如果某個變量爲真,我需要將附加數據添加到字符串,如果沒有,我不需要追加任何內容。目前,我正在做:你是否必須在三元運算符PHP中包含一個錯誤的值?
$string = (condition()) ? 'something'.$string.'something' : $string;
有沒有辦法跳過添加虛假選項中三元操作?如果條件爲假,那麼說$ string = $ string似乎很浪費。
你不能跳過它。您可以重新編寫爲一行if
條件:
if (condition()) $string = 'something'.$string.'something';
不,無法跳過它。如果你想跳過虛假位,回到if
方法:
if (condition()) $string = 'something' . $string . 'something';
三元方法只是一個短暫的手if
聲明反正。如果您可以使if
語句短而又不犧牲可讀性(如上例所示),那麼您應該考慮它。
不過,說實話,我甚至格式化,使其更可讀性:
if (condition())
$string = 'something' . $string . 'something';
除非你急缺顯示器的高度,那將是更容易理解一覽:-)
是的,您必須。把三元運算符看作一個函數。你會想到會的行爲,如果你做了這樣的事情,但不想進行分配,如果評估爲false
condition()
:
$string = ternary(condition(), $yesValue, $noValue);
沒有辦法,你可以放棄分配到變量$string
如果condition()
的計算結果爲false。
不。這是三元組的關鍵。如果你不想要一個錯誤的值,爲什麼不只是讓condition()返回你需要的值呢?
喜歡的東西:
$string = condition($string);
function condition($string){
if($string == 'whatever')
{
$string = 'something'.$string.'something';
}
return $string;
}
我可以看到其他人已經打敗我,所以這裏是三元文檔:
,因爲他可能只想顯示它是否爲真,如果是虛假的則不顯示。 – 2015-11-11 22:10:38
@hanoncs - 你剛纔建議什麼?如果他不想定義錯誤的處理,那麼不要使用三元樸素簡單。他的問題沒有「可能」。很顯然,他只想追求真實,但認爲自我重新宣佈是虛假的浪費。所以,如果這是一個問題,他正在運行一個函數來檢查,爲什麼不直接說$ string = condition()並讓該函數給出字符串的最終結果? – 2015-11-12 16:01:42
這是我的下一個選擇,但希望它可以完成。感謝您的確認。 – Ayub 2012-03-01 01:15:13