我一直在尋找和測試一段時間,只是無法找到我正在努力完成的方式是否可能。關聯數組中的PHP三元語句設置鍵和值?
我想基於三元語句在定義數組時添加一個鍵/值對。
Array(
'Item 1' => 'Some value',
(FALSE)? NULL : 'Item 2' => 'Another Value'
)
我的預期/希望的行爲是結果則是:
Array (
[Item 1] => Some value
[Item 2] => Another Value
)
而當說法是正確的:
Array(
'Item 1' => 'Some value',
(TRUE)? NULL : 'Item 2' => 'Another Value'
)
產量:
Array (
[Item 1] => Some value
)
但是,我得到:
Array (
[Item 1] => Some value
[] => Another Value
)
這會導致問題,因爲A)我不希望這第二個元素存在於第一個位置和B)False條件值分配給True條件值(在這種情況下NULL,它設置鍵爲NULL [])
這是非常奇特的。我唯一的選擇是擁有一個標準的if(){}語句,並且如果條件爲假(通過使用!)將數組元素彈出到數組中?
注意:爲項目2設置一個空值是不可接受的,而如果初始條件爲true,則根本不應存在任何元素。
任何幫助將不勝感激!
99%肯定這是不可能的,即你需要使用'if'。我會多考慮一下,看看我能否做得更好。 – Austin 2015-02-07 04:34:19
這是不可能的。要麼你添加一個元素到一個數組或者你沒有;沒有辦法像這樣有條件地做到這一點。無論如何,使用'if'語句的問題究竟是什麼......?它完美地完成了這項工作(有人甚至會說它比三元組更直觀)。 – 2015-02-07 05:08:02
它實際上[可能](http://stackoverflow.com/a/29327671/367456),但你通常不想這樣做。/cc @Austin – hakre 2015-03-29 09:48:34