簡體   English   中英

PHP 多維數組更新/在已保存的鍵中添加新鍵

[英]PHP multidimensional array update/add new key in already saved key

這是以前保存的數組。

$market_data_array = get_option('market_data');

Array
(
    [Turkey] => Array
        (
            [Gold] => Array
                (
                    [2020] => Array
                        (
                            [March] => Array
                                (
                                    [12] => 25000
                                )

                        )

                )

        )

)

這就是我用新數據更新數組的方式。

$country_name = 'Turkey';
$rates_property_type = 'Silver';
$year = '2020';
$month = 'March';
$day_date = '12';
$rate_today = 8000;

$market_data_array[] = array(
    "".$country_name."" => array(
        "".$rates_property_type."" => array(
            "".$year."" => array(
                "".$month."" => array(
                    "".$day_date."" => "".$rate_today."",
                ),
            ),
        ),
    ),
);

update_option('market_data', $market_data_array);

這就是應該更新新數組的方式。

Array
(
    [Turkey] => Array
        (
            [Gold] => Array
                (
                    [2020] => Array
                        (
                            [March] => Array
                                (
                                    [12] => 25000
                                )

                        )

                )

            [Silver] => Array
                (
                    [2020] => Array
                        (
                            [March] => Array
                                (
                                    [12] => 8000
                                )

                        )

                )

        )

)

我將多個國家的市場數據保存在一個數組和一個 WordPress 數據庫選項中,其中包含多種財產類型。

看起來很簡單,但我的大腦很困惑。 從過去的 5 個小時開始,它讓我頭疼。 我會感謝你的幫助。

您可以使用array_merge_recursive生成更新的市場數據:

$country_name = 'Turkey';
$rates_property_type = 'Silver';
$year = '2020';
$month = 'March';
$day_date = '12';
$rate_today = 8000;

$new_market_data = array(
    "".$country_name."" => array(
        "".$rates_property_type."" => array(
            "".$year."" => array(
                "".$month."" => array(
                    "".$day_date."" => "".$rate_today."",
                ),
            ),
        ),
    ),
);

$market_data_array = array_merge_recursive($market_data_array, $new_market_data);
print_r($market_data_array);

輸出:

Array
(
    [Turkey] => Array
        (
            [Gold] => Array
                (
                    [2020] => Array
                        (
                            [March] => Array
                                (
                                    [12] => 25000
                                )
                        )
                )
            [Silver] => Array
                (
                    [2020] => Array
                        (
                            [March] => Array
                                (
                                    [12] => 8000
                                )
                        )
                )
        )
)

3v4l.org 上的演示

這是另一種方式。

<?php
$market_data_array =array (
    'Turkey' => 
    array (
        'Gold' => 
        array (
            2020 => 
            array (
                'March' => 
                array (
                    12 => 25000
                ),

            ),

        ),

    ),

);

$country_name = 'Turkey';
$rates_property_type = 'Silver';
$year = '2020';
$month = 'March';
$day_date = '12';
$rate_today = 8000;

$market_data_array[$country_name][$rates_property_type][$year][$month][$day_date] = $rate_today;
print_r($market_data_array);

示例: https : //3v4l.org/5MkRI

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM