Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何展平这个索引数组?_Php_Arrays_Multidimensional Array - Fatal编程技术网

PHP如何展平这个索引数组?

PHP如何展平这个索引数组?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有以下数组: Array ( [0] => Array ( [ContractorName] => Joe Soap [BonusAmount] => 73.92 ) [1] => Array ( [ContractorName] => Mike Michaels [BonusAmount] =>

我有以下数组:

Array
(
    [0] => Array
        (
            [ContractorName] => Joe Soap
            [BonusAmount] => 73.92
        )

    [1] => Array
        (
            [ContractorName] => Mike Michaels
            [BonusAmount] => 68.55
        )

    [2] => Array
        (
            [ContractorName] => John Smith
            [BonusAmount] => 34.35
        )

    [3] => Array
        (
            [ContractorName] => Pete Peterson
            [BonusAmount] => 24.61
        )

    [4] => Array
        (
            [ContractorName] => Pete Smith
            [BonusAmount] => 22.76
        )

)
如何最终得到一个如下所示的数组:

Array
(
    [Joe Soap] => 73.92
    [Mike Michaels] => 68.55
    [John Smith] => 34.35
    [Pete Peterson] => 24.61
    [Pete Smith] => 22.76
)

我现在有点迷路了。我尝试通过循环第一个数组来创建一个新数组,但得到了不想要的结果。非常感谢您的帮助。

使用foreach遍历整个阵列,然后使用每个片段构建新阵列

$out = [];
foreach ($inputArray as $v) {
    $out[$v['ContractorName']] = $v['BonusAmount'];
}
第二种解决方案是使用array\u combine和array\u column

第三种选择

$output = array_column($inputArray, 'BonusAmount', 'ContractorName');

使用foreach遍历整个数组,然后使用每个片段构建新数组

$out = [];
foreach ($inputArray as $v) {
    $out[$v['ContractorName']] = $v['BonusAmount'];
}
第二种解决方案是使用array\u combine和array\u column

第三种选择

$output = array_column($inputArray, 'BonusAmount', 'ContractorName');
使用数组\与数组\列组合作为

使用数组\与数组\列组合作为


可以使用一个array_列,并使用第三个参数指定索引


可以使用一个array_列,并使用第三个参数指定索引


和的组合应该起作用。和的组合应该起作用。完美。工作起来很有魅力。将在几分钟内放弃投票和荣誉。谢谢,太好了。工作起来很有魅力。将在几分钟内放弃投票和荣誉。谢谢
array_column($array, 'BonusAmount', 'ContractorName');