首页 > 解决方案 > 将 PHP 数组 $key => $value 转换为 $value => next $value

问题描述

我真的不知道如何表达这个问题,所以我只是编写代码。

我希望能够转换这个数组:

Array
(
    [SELECT0] => 'orange'
    [INPUT0] => '100'
    [SELECT1] => 'bannana'
    [INPUT1] => '200'
    [SELECT2] => 'apple'
    [INPUT2] => '300'
)

进入这个数组:

Array
(
    [orange] => '100'
    [bannana] => '200'
    [apple] => '300'
)

*如果您知道如何正确表达此问题,请编辑此问题标题 :)

我真正的数组是:

array(12) {
  ["SELECT0"]=>
  string(3) "000"
  ["INPUT0"]=>
  string(2) "50"
  ["SELECT1"]=>
  string(3) "000"
  ["INPUT1"]=>
  string(3) "150"
  ["SELECT2"]=>
  string(4) "5260"
  ["INPUT2"]=>
  string(3) "200"
  ["SELECT3"]=>
  string(4) "5261"
  ["INPUT3"]=>
  string(3) "300"
  ["SELECT4"]=>
  string(3) "000"
  ["INPUT4"]=>
  string(3) "400"
  ["SELECT5"]=>
  string(4) "5262"
  ["INPUT5"]=>
  string(3) "500"
}

标签: phparrays

解决方案


这是组合三个 PHP 数组函数的一种方法:

$result = array_combine(...array_map(null, ...array_chunk($array, 2)));

array_chunk给你

[
    ['orange', '100'],
    ['banana', '200'],
    ['apple', '300']
];

array_map将其转换为:

[
    ['orange', 'banana', 'apple'],
    ['100', '200', '300'],
];

可以直接喂入array_column


推荐阅读