通常我可以使用類似脫身:的if/else三元運算符與空白Else語句問題
$a = ($condition)? array(1,2,3) : '';
但現在我有一個接受多維數組的方法,我必須通過或不通過的一個有條件的陣列。
$this->mymethod(
'myarrays'=> array(
array('key' => 'lang_code'),
array('key' => 'lang_description'),
array('key' => 'lang_direction'),
($mycondition==true)? array('key' => 'lang_export') :),
)
);
基本上,問題是最後一個數組傳遞。更具體地說,三元If運算符中的ELSE語句。看起來我不能在這之後傳遞一個空格,而且我不能傳遞其他任何東西,比如FALSE或''(空字符串),因爲稍後在代碼中運行這個數組的foreach會出錯。
我的問題是: 如何將參數傳遞給基於條件的函數/方法?
嗯,是您的示例有效代碼嗎? – kapa 2012-07-11 08:25:40
你不能傳遞一個「空」虛假陳述,我通常使用'null'。唯一允許的三元速記是'condition?:val_if_false',在這種情況下,如果條件不計算爲false,則返回條件值。 – Leigh 2012-07-11 08:27:21
怎麼樣一個空數組而不是null /空字符串? – DThought 2012-07-11 08:21:47