php - 将 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"
}
解决方案
这是组合三个 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
。
推荐阅读
- java - 在 Android Application.onCreate() 方法中检测 Activity/BroadcastReceiver
- java - Wildly 9 远程控制台访问
- javascript - jquery.hover() 添加类并立即将其删除
- grails - 在 Grails 中调用存储过程 DB2
- docker - 如何使用 docker DIND 从 gitlab CI 中的私有注册表中提取
- database - vagrant ssh 无法连接到 Windows 10 上的 vm
- redis - 如何重新连接 Redis 集群节点?
- ffmpeg - 使用 FFMPEG 连接某些 mp4 文件时听不到音频
- java - Spring Boot使用@Value for userName获取无效属性值
- r - 消除在前面行的多列之一中匹配的行