Array
(
[text1] => 张三
[id1] => x
[text2] => 李四
[id2] => d
[text3] => 王五
[id3] => e
[text4] =>
[id4] =>
[text5] =>
[id5] =>
[text6] =>
[id6] =>
......
}
这个是print_r出来的值
现在,我需要经过处理后得到下面这样的值(上面的text..和id..是有规律的),
Array
{
[张三] => x
[李四] => d
[王五] => e
....
}
求高人相解
(
[text1] => 张三
[id1] => x
[text2] => 李四
[id2] => d
[text3] => 王五
[id3] => e
[text4] =>
[id4] =>
[text5] =>
[id5] =>
[text6] =>
[id6] =>
......
}
这个是print_r出来的值
现在,我需要经过处理后得到下面这样的值(上面的text..和id..是有规律的),
Array
{
[张三] => x
[李四] => d
[王五] => e
....
}
求高人相解
$arr = array();
for($i=1;$i<=(count($array))/2;$i++){
$arr[$array["text".$i]]=$array["id".$i];
}
print_r($arr);
foreach($_POST as $key=>$value)
{
preg_match_all('/id.*?/i',$key, $arr); // 找出含有id的键
if($arr[0][0]['id'])
continue;
if(!$value)
break;
$values[] = $value;
}
foreach($_POST as $key2=>$value2)
{
preg_match_all('/text.*?/i',$key2, $arr2); // 找出含有text的键
if($arr2[0][0]['text'])
continue;
if(!$value2)
break;
$values2[] = $value2;
}
$array = array_combine($values,$values2);我这样做的,绕了个大圈子,楼上的好方法,我去测试下。
// $a为那个数组
$t = array();
$a = array_unique($a);
for($i=0,$l=count($a); $i<$l; $i+=2){
if( !$a[$i] )break;
$t[$a[$i]] = $a[$i+1];
}
//$a为那个数组
//$a=array_unique($a);
$temp = array(false, array());
foreach($a as $v){
if( !$v )break;
elseif( false===$temp[0] )$temp[0]=$v;
else{$temp[1][ $temp[0] ] = $v;$temp[0] = false;}
}$temp = $temp[1];--------------Opout:
Array
(
[张三] => x
[李四] => d
[王五] => e
)