将Convert multidimensional array values into a one-dimensional array
P粉969666670
P粉969666670 2024-02-03 23:06:59
[PHP讨论组]

如果在另一个平面关联数组中找到相应的键,我想更改一个多维数组中的值。

我有这两个数组:

$full = [
    'Cars' => [
         'Volvo' => 0,
         'Mercedes' => 0,
         'BMW' => 0,
         'Audi' => 0
    ],
    'Motorcycle' => [
        'Ducati' => 0,
        'Honda' => 0,
        'Suzuki' => 0,
        'KTM' => 0
    ]
];

$semi = [
    'Volvo' => 1,
    'Audi' => 1
];

我希望数组看起来像这样:

Array
(
    [Cars] => Array
        (
            [Volvo] => 1
            [Mercedes] => 0
            [BMW] => 0
            [Audi] => 1
        )

    [Motorcycle] => Array
        (
            [Ducati] => 0
            [Honda] => 0
            [Suzuki] => 0
            [KTM] => 0
        )
)

我从输入字段中获取 $semi 数组,并希望将其合并到 $full 中以将其保存到我的数据库中。

我已经尝试过 array_replace() 像:

$replaced = array_replace($full, $semi);

P粉969666670
P粉969666670

全部回复(1)
P粉151720173

您应该循环 $semi 数组并检查它是否存在于 $full 数组之一中,然后添加到其中:

foreach ($semi as $semiItem => $semiValue) {
    foreach ($full as &$fullItems) {
        if (isset($fullItems[$semiItem])) {
            $fullItems[$semiItem] = $semiValue;
        }
    }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号