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

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

使用循環php在多維數組上添加項目

使用循環php在多維數組上添加項目

PHP
元芳怎么了 2023-04-15 14:28:26
我有一個 json,我需要獲取特定值并使用 foreach 循環插入到數組中。然后我將它轉換回 json 以檢查我是否得到相同的數組/json 格式或輸出。但我無法讓它發揮作用。有人能幫助我嗎。謝謝!這是源格式:但這是我在 foreach 循環中生成的內容:這是我的代碼。$test_json= '{ "product": { "title": "Burton Custom Freestyle 151", "body_html": "<strong>Good snowboard!</strong>", "vendor": "Burton", "product_type": "Snowboard", "variants": [ { "option1": "Blue", "option2": "155" }, { "option1": "Black", "option2": "159" } ], "options": [ { "name": "Color", "values": [ "Blue", "Black" ] }, { "name": "Size", "values": [ "155", "159" ] } ] } }';$test_product = json_decode($test_json, true); $attributes2 = $test_product['product']['options'];$options_arr = array();foreach ($attributes2 as $attribute) {$options_arr['name'] = $attribute['name'];    foreach ($attribute['values'] as $option) {        $options_arr['values'][] = $option;    }         }$options_json = json_encode($options_arr);var_dump($options_json);
查看完整描述

3 回答

?
qq_遁去的一_1

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

我認為這就是您要尋找的......這也沒有您的代碼那么復雜。


<?php

$test_json= '{ "product": { "title": "Burton Custom Freestyle 151", "body_html": "<strong>Good snowboard!</strong>", "vendor": "Burton", "product_type": "Snowboard", "variants": [ { "option1": "Blue", "option2": "155" }, { "option1": "Black", "option2": "159" } ], "options": [ { "name": "Color", "values": [ "Blue", "Black" ] }, { "name": "Size", "values": [ "155", "159" ] } ] } }';

$test_product = json_decode($test_json); 


$options = $test_product->product->options;


// Check whatever you like in this for each

foreach ($options as $option) {


    // Example

    switch ($option->name) {

        case 'Color':

            echo 'this is the color array';

        break;

    }

}


$options_json = json_encode($options);

var_dump($options_json);


?>


查看完整回答
反對 回復 2023-04-15
?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

如果我沒有誤解你的要求,那么你只需要這樣做就可以得到你想要的,


<?php

$test_json= '{ "product": { "title": "Burton Custom Freestyle 151", "body_html": "<strong>Good snowboard!</strong>", "vendor": "Burton", "product_type": "Snowboard", "variants": [ { "option1": "Blue", "option2": "155" }, { "option1": "Black", "option2": "159" } ], "options": [ { "name": "Color", "values": [ "Blue", "Black" ] }, { "name": "Size", "values": [ "155", "159" ] } ] } }';

$test_product = json_decode($test_json, true); 

$attributes2 = $test_product['product']['options'];

$expected = ['options'=>$attributes2];

echo json_encode($expected);

?>

演示: https: //3v4l.org/5r6WI


查看完整回答
反對 回復 2023-04-15
?
UYOU

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

您正在覆蓋循環中的 name 鍵,您需要執行以下操作:


foreach ($attributes2 as $attribute) {


    $data = [

        "name" => $attribute["name"],

        "values" => []

    ];



    foreach ($attribute['values'] as $option) {

        $data['values'][] = $option;

    }         


    $options_arr[] = $data;

}


查看完整回答
反對 回復 2023-04-15
  • 3 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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