
1 cnqncom OP array(3) { [111]=> string(3) "222" [333]=> string(3) "444" [555]=> string(3) "666" } |
2 zcc911 2017-10-08 10:53:36 +08:00 最简单的: $arr = ['111', '222', '333', '444', '555', '666']; $arr_out = []; for($i = 0; $i < count($arr); $i+=2){ $arr_out["{$arr[$i]}"] = "{$arr[$i+1]}"; } echo "<pre>"; var_dump($arr_out); echo "</pre>"; |
3 VgV 2017-10-08 11:02:47 +08:00 试试 array_flip($array); |
4 VgV 2017-10-08 11:14:10 +08:00 哦,刚才没注意看,我还以为是把值改为名呢。 你下面想得到的结果是必须借用循环来排序了,没有更简单的了。 |
5 cnqncom OP 感谢各位 |
6 lujjjh 2017-10-08 11:18:50 +08:00 $pairs = array_chunk(['111', '222', '333', '444', '555', '666'], 2); $keys = array_column($pairs, 0); $values = array_column($pairs, 1); $result = array_combine($keys, $values); print_r($result); |