You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何将包含animal和car的关联数组拆分为两个索引数组?

拆分PHP关联数组为独立索引数组的解决方案

嘿,这个需求其实PHP里有超便捷的内置函数能搞定,完全不用费劲手动写循环!针对你给出的关联数组,我们可以用array_column()函数快速提取出animal和car对应的独立索引数组。

首先先定义好你的原始关联数组:

$originalArray = [
    ["animal"=>"lion", "car"=>"honda"],
    ["animal"=>"rabbit","car"=>"BMW"],
    ["animal"=>"rat", "car"=>"Toyota"],
    ["animal"=>"mouse", "car"=>"Suzuki"],
    ["animal"=>"horse", "car"=>"mercedes"],
    ["animal"=>"dog", "car"=>"Jaguar"],
    ["animal"=>"cat", "car"=>"Audi"]
];

核心解决方案(推荐)

直接用array_column()函数提取指定列,一行代码搞定一个数组:

// 提取所有animal值到索引数组
$animal = array_column($originalArray, 'animal');
// 提取所有car值到索引数组
$car = array_column($originalArray, 'car');

array_column()的作用就是从多维数组中返回指定列的所有值,第一个参数是目标多维数组,第二个参数是要提取的关联键名,执行后直接就能得到你想要的纯索引数组。

兼容低版本PHP的备选方案

如果你的项目需要兼容PHP 5.5以下的版本(array_column()是PHP 5.5才引入的),可以用手动循环的方式实现:

$animal = [];
$car = [];

foreach ($originalArray as $item) {
    $animal[] = $item['animal'];
    $car[] = $item['car'];
}

验证结果

你可以用print_r()输出看看结果:

print_r($animal);
print_r($car);

输出的结果就是你需要的两个独立索引数组啦:

Array
(
    [0] => lion
    [1] => rabbit
    [2] => rat
    [3] => mouse
    [4] => horse
    [5] => dog
    [6] => cat
)
Array
(
    [0] => honda
    [1] => BMW
    [2] => Toyota
    [3] => Suzuki
    [4] => mercedes
    [5] => Jaguar
    [6] => Audi
)

内容的提问来源于stack exchange,提问作者Ferdinand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:36:41