Php数组值到键
嗨,假设我有这个数组Php数组值到键,php,arrays,sorting,Php,Arrays,Sorting,嗨,假设我有这个数组 array(2) { [0]=> string(9) "name|a-z+" [1]=> string(7) "id|0-9+" } 现在,我希望一个新的数组(或相同的,如果可能)如下所示: array(2) { [name]=> string(4) "a-z+" [id]=> string(4) "0-9+" } 我认为这个解决方案意味着爆炸和阵列结合,但我还不够好,有人能帮我吗? 提前感谢。在这里使用名为$ar
array(2) {
[0]=>
string(9) "name|a-z+"
[1]=>
string(7) "id|0-9+"
}
现在,我希望一个新的数组(或相同的,如果可能)如下所示:
array(2) {
[name]=>
string(4) "a-z+"
[id]=>
string(4) "0-9+"
}
我认为这个解决方案意味着爆炸和阵列结合,但我还不够好,有人能帮我吗?
提前感谢。在这里使用名为$array的原始数组,在其中循环设置所需的值
$newarray = array();
foreach ($array as $key=>$val) {
list($one, $two) = explode('|', $val);
$newarray[$one] = $two;
}
我相信你的意思是$array[$one]=$two,尽管我建议使用另一个变量,而不是$array,因为新条目将附加到现有条目上,你将得到两个数组的组合。然后它将不会给出与OP所需的相同的结果。他们希望密钥的值为$1(在您的示例中)。至少我是这么理解的--哦,你已经更新了你的答案。那就别管了。:)如果我改为使用$array[$one]=$two,那么在你之后,它是完全相同的;那是对的,只是有错误的副本
function convert_my_array($arr){
$out = array();
foreach($arr as $obj){
$data = explode("|", $obj);
$out[$data[0]] = $data[1];
}
return $out;
}