This topic created in 3163 days ago, the information mentioned may be changed or developed.
array(6) {
[0]=>
string(3) "111"
[1]=>
string(3) "222"
[2]=>
string(3) "333"
[3]=>
string(3) "444"
[4]=>
string(3) "555"
[5]=>
string(3) "666"
}
现在想得到:
array(6) {
[111]=>
string(3) "222"
[333]=>
string(3) "444"
[555]=>
string(3) "666"
}
6 replies • 2017-10-08 11:18:50 +08:00
 |
|
1
cnqncom Oct 8, 2017
array(3) { [111]=> string(3) "222" [333]=> string(3) "444" [555]=> string(3) "666" }
|
 |
|
2
zcc911 Oct 8, 2017 1
最简单的: $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 Oct 8, 2017
试试 array_flip($array);
|
 |
|
4
VgV Oct 8, 2017
哦,刚才没注意看,我还以为是把值改为名呢。 你下面想得到的结果是必须借用循环来排序了,没有更简单的了。
|
 |
|
6
lujjjh Oct 8, 2017
$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);
|