将像这样的数组转换为关联数组时出现问题
$ array =
Array
(
[0] => 154654654455|WS01
[1] => 456541232132|WS02
)
进入关联数组。
我可以做一个foreach循环并爆炸值
$values2 = array();
foreach ($array as $key => $value) {
$values2[] = explode("|",$value);
}
但后来我得到了这样的东西
Array
(
[0] => Array
(
[0] => 154654654455
[1] => WS01
)
[1] => Array
(
[0] => 456541232132
[1] => WS02
)
)
将这样的内容转换为类似
的关联数组的最佳方法是什么Array
(
[154654654455] => WS01
[456541232132] => WS02
)
答案 0 :(得分:4)
$values2 = array();
foreach ($array as $key => $value) {
$expl = explode("|",$value);
$values2[$expl[0]] = $expl[1];
}
答案 1 :(得分:3)
可能不是最优雅的方式,但修改你的方法就是:
$values2 = array();
foreach ($array as $key => $value) {
$t = explode("|",$value);
$values2[$t[0]] = $t[1];
}
答案 2 :(得分:2)
将您的foreach循环更改为此
foreach ($array as $key => $value) {
$temp = explode("|",$value);
$values2[$temp[0]] = $temp[1];
}
答案 3 :(得分:2)
您需要做的就是将爆炸的第一项设置为键,将第二项设置为值:
$array = [
'154654654455|WS01',
'456541232132|WS02',
];
$values2 = [];
foreach ($array as $key => $value) {
$data = explode('|', $value);
$values2[$data[0]] = $data[1];
}
答案 4 :(得分:0)
不是最佳答案,但完整性;在循环之后,您可以在1
列上提取0
列作为值和索引:
$values2 = array_column($values2, 1, 0);
答案 5 :(得分:0)
我将把exact same
答案放在其他人身上,但我会省略未使用的$key
变量......
$val2 = array();
foreach ($array as $v) {
$tmp = explode("|",$v);
$val2[$tmp[0]] = $tmp[1];
}