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

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

PHP:如果數組中存在值,請分配一個新值并將所有值推送到新數組

PHP:如果數組中存在值,請分配一個新值并將所有值推送到新數組

PHP
夢里花落0921 2022-09-12 13:13:19
我想檢查數據庫中的JSON數組是否有值。(例如,“電梯”= 120)如果它確實存在,我需要將其推送到一個名為$features的數組,以便我以后可以運行一個腳本來創建WordPress帖子,其中這個外部數字(ID)數組入到帖子中,就像這個例子一樣:$my_post = array('post_title'    => $post_title,'tax_input'    => array(               'property_category' => array( $features )主代碼(我知道我可能很遠):$options = explode(",",$db->options); $features = array();        switch ($features) {    case in_array("basement", $options) && "basement" != false:        array_push($features,145);        break;    case (in_array("bathtub", $options) && "bathtub" != false):        array_push($features,167);        break;    case (in_array("boiler", $options) && "boiler" != false):        array_push($features,105);        break;}
查看完整描述

4 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

您可以使用而不是ifswitch


if (in_array("basement", $options)) {

    array_push($features,145);

}

if (in_array("bathtub", $options)) {

    array_push($features,167);

}

if(in_array("boiler", $options)) {

    array_push($features,105);

}

因為 switch 語句的計算結果例如為


switch ([]) {

   case true: ...

   case false: ...

   case true: ...

這不符合您的目的


查看完整回答
反對 回復 2022-09-12
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

你在這里有很多需要解決的問題。首先,讓我們假設這是一個相當標準的數組:$options


$options = ['basement', 'bathtub'];

現在,您將設置為一個數組來保存結果:$features


$features = array();

你不能在語句中做很多評估。在語句中,您嘗試對“地下室”進行兩次測試,而您需要做的就是讓信息是否存在。只需測試每個價值購買循環選項并測試價值switchin_array("basement", $options) && "basement" != false:switch


foreach($options as $option) {

    switch ($option) {

        case "basement":

            array_push($features,145);

            break;

        case "bathtub":

            array_push($features,167);

            break;

        case "boiler":

            array_push($features,105);

            break;

    }

}

結果如下:


print_r($features);

哪個返回


Array

(

    [0] => 145

    [1] => 167

)


查看完整回答
反對 回復 2022-09-12
?
慕虎7371278

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

您可以使用而不是ifswitch


if (in_array("basement", $options)) {

    array_push($features,145);

}

if (in_array("bathtub", $options)) {

    array_push($features,167);

}

if(in_array("boiler", $options)) {

    array_push($features,105);

}

因為 switch 語句的計算結果例如為


switch ([]) {

   case true: ...

   case false: ...

   case true: ...

這不符合您的目的


查看完整回答
反對 回復 2022-09-12
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

假設您有選項的值列表,則可以創建一個包含選項和值組合的數組。然后使用 僅匹配所選的選項(用于使選項值改為鍵。最后使用刪除密鑰...array_intersect_key()array_flip()array_values()


$options = ['basement', 'bathtub'];

$optionValues = ['basement' => 145, 'bathtub' => 167, 'boiler' => 105];


$features = array_values(array_intersect_key($optionValues, array_flip($options)));


print_r($features);

給。。。


Array

(

    [0] => 145

    [1] => 167

)

這樣做的好處是,當您/如果您需要更改映射時,您只需要更新數組。$optionValues


查看完整回答
反對 回復 2022-09-12
  • 4 回答
  • 0 關注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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