簡體   English   中英

向關聯數組添加維度

[英]Add a dimension to an associative array

我有一個默認設置數組,它需要是一個關聯數組,它允許我將其與數據庫中保存的設置數組合並:

$defaults = array ( 'eswc_redirect' => false,
                    'eswc_remove_shop_title' => false,
                    'eswc_remove_footer_credits' => 'Yes',
                  );

我希望它為相同的設置存儲更多的參數,而不僅僅是其值,例如,稍后將用於在循環中正確清除所有設置的類型。

我希望有50多個設置,並且我需要使其盡可能簡單,而無需兩次或兩次鍵入相同的內容。 我希望將與單個設置相關的所有內容寫在這樣的一行中(我希望它不起作用,這只是為了表明我的意圖):

$defaults = array ( array ( 'eswc_redirect' => false, 'checkbox' ),
                    array ( 'eswc_remove_shop_title' => false, 'checkbox' ),
                    array ( 'eswc_remove_footer_credits' => 'Yes', 'text' ),
                  );

作為PHP的新手,我很樂意看到一個示例,該示例演示如何循環訪問此類數組中的數據。

我還需要從這個新數組中提取出我的第一篇代碼中介紹的數組。

最好將其保留為關聯數組,但使值嵌套關聯數組。

$defaults = ['eswc_redirect' => ['value' => false, 'type' => 'checkbox' ],
             'eswc_remove_shop_title' => ['value' => false, 'type' => 'checkbox' ],
             'eswc_remove_footer_credits' => ['value' => 'Yes', 'type' => 'text' ],
    ];

然后像$defaults['eswc_redirect']['value']一樣訪問它

數組中可以有多個數組,例如:

$defaults = [
    'settings' => [
        'eswc_redirect' => false,
        'eswc_remove_shop_title' => false,
        'eswc_remove_footer_credits' => 'Yes'
    ],
    'database_connection' => [
        'host' => 'localhost',
        'user' => 'root',
        'pass' => ''
    ]
];

您可以輕松訪問每個配置,例如:

$defaults['settings']['eswc_redirect']

$defaults['database_connection']['user']

暫無
暫無

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

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