透過陣列解包在陣列中加入條件元素
在PHP 中,使用array() 語句有條件地新增元素可以是使用三元運算子時有點棘手。然而,PHP 8.1 引入了使用數組解包的解決方案。
有條件地加入元素'b' => 'xyz' 到陣列$arr = array('a' => 'abc') 中,可以使用以下語法:
$arr = [ 'foo' => 'bar', ...($condition ? ['baz' => 'boo' ] : []), ];
在這個例子中,變數$condition 決定元素是否'巴茲' => 'boo' 應該加入到陣列中。如果 $condition 為 true,則新增該元素;否則,它被省略。
陣列解包可讓您將陣列擴展為一組單獨的值或表達式。在這裡,三元運算子傳回包含 'baz' => 的陣列或包含 'baz' => 的陣列。 'boo' 或空數組。然後,展開運算子 (...) 解壓縮該數組,可能會將其元素加到 $arr。
這種方法提供了一種簡潔高效的方法來有條件地將元素添加到數組,特別是在處理大型或複雜的數組時數組。它簡化了程式碼並避免了三元運算子的限制。
以上是如何使用陣列解包有條件地將元素新增至 PHP 8.1 中的陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!