亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 短格式(一行)添加帶鍵的子數組,如果子數組不為空

PHP 短格式(一行)添加帶鍵的子數組,如果子數組不為空

PHP
斯蒂芬大帝 2023-03-04 14:29:03
我已經創建了一些函數來創建樹結構,在這種情況下,我使用以下代碼片段的一部分來添加子數組(如果至少存在一個子數組)。    <?php    function addArrayIfNotEmpty($entire_array, $key, $childArray){    /*    ### BEGIN: Possible as one line? ###    */    if (count($childArray) > 0) {        $entire_array[$key] = $childArray;          }    /*    ### END: Possible as one line? ###    */    return $entire_array;}$my_array = array();$first_array = array("orange", "banana");$second_array = array();$my_array = addArrayIfNotEmpty($my_array, "first", $first_array);$my_array = addArrayIfNotEmpty($my_array, "second", $second_array);var_dump($my_array);在我的真實代碼中,我只在帶有“BEGIN”和“END”的注釋之間使用 if 條件,但我想將此 if 條件更改為一行。我想像這樣的事情:$entire_array[$key] = count($childArray) > 0 ? $childArray : null;但在這種情況下,我會得到一個空的(不必要的)子數組。在這種情況下我該怎么辦?
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

您可以使用三元運算符作為語句并將賦值放在部分中true:


function addArrayIfNotEmpty($entire_array, $key, $childArray){

    count($childArray) ? $entire_array[$key] = $childArray : null;

    return $entire_array;

}

但是您現有的if陳述更具可讀性。


測試代碼:


$entire_array = array();

$entire_array = addArrayIfNotEmpty($entire_array, 'key1', array());

print_r($entire_array);

$entire_array = addArrayIfNotEmpty($entire_array, 'key2', array('hello'));

print_r($entire_array);

輸出:


Array

(

)

Array

(

    [key2] => Array

        (

            [0] => hello

        )


)

3v4l.org 上的演示


查看完整回答
反對 回復 2023-03-04
  • 1 回答
  • 0 關注
  • 138 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號