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

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

數組中的 PHP if 語句

數組中的 PHP if 語句

PHP
郎朗坤 2022-10-14 10:09:06
如果設置了值,我正在嘗試編寫以下數組。如何在數組中執行此操作?我知道我可以使用三元運算符,但我不確定如何。            array(                'name' => 'extraFields',                'attributes' => array(                    'name' => 'portal',                ),             if($Value === 1){   //Need to write the below when value is true                    array(                        'name' => 'portal',                        'value'=> '',                        'attributes' => array(                            'id' => '1',                            'value'=> 'testportal',                        ),                    ),                           }            ),
查看完整描述

2 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

您不能將數組的定義與條件語句相交。相反,您需要做的是首先定義您的數組,然后執行一個 if 語句,該語句將添加到數組中。尚不清楚要在數組的哪個級別添加條件內容,因此我將在一個簡化的示例中對其進行展示:


$value = 1;

$myArray = array(

    'name' => 'Joe',

    'kids' => array(

        'name' => 'Mary',

    ),

);

if ($value === 1) {

    $myArray['kids']['hobbies'] = 'kite flying';

}

在此之后,變量$myArray將具有以下內容:


array(

    'name' => 'Joe',

    'kids' => array(

        'name' => 'Mary',

        'hobbies' => 'kite flying',

    ),

)

您需要將條件數據放在哪里取決于數組的完整結構,但想法是您可以通過索引訪問所需的部分。


編輯:如果您可以在數組末尾添加所需的子數組,您可以使用array_push。


查看完整回答
反對 回復 2022-10-14
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

有 3 種變體可以做到這一點:


// Variant 1

// Anonymous function, variables from the parent scope

$Value = 1;

$arr = array(

    'name' => 'extraFields',

    'attributes' => array(

        'name' => 'portal',

    ),

    'ifArray' => function() use ($Value) {

        if ($Value == 1) 

            return array(

                'name' => 'portal',

                'value'=> '',

                'attributes' => array(

                    'id' => '1',

                    'value'=> 'testportal',

                ),

            );

    }

);


print_r($arr['ifArray']());

// Variant 2

// Anonymous function, variable assignment

$arr = array(

    'name' => 'extraFields',

    'attributes' => array(

        'name' => 'portal',

    ),

    'ifArray' => function($Value) {

        if ($Value == 1) 

            return array(

                'name' => 'portal',

                'value'=> '',

                'attributes' => array(

                    'id' => '1',

                    'value'=> 'testportal',

                ),

            );

    }

);


$Value = 1;

print_r($arr['ifArray']($Value));

// Variant 3

// Ternar operator

$Value = 1;

$arr = array(

    'name' => 'extraFields',

    'attributes' => array(

        'name' => 'portal',

    ),

    'ifArray' => $Value != 1 ? null : array(

        'name' => 'portal',

        'value'=> '',

        'attributes' => array(

            'id' => '1',

            'value'=> 'testportal',

        )

    )

);


print_r($arr['ifArray']);

但是,El_Vanja 建議的變體可能比這三個更清楚。


查看完整回答
反對 回復 2022-10-14
  • 2 回答
  • 0 關注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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