Array
(
    [text1] => 张三
    [id1] => x
    [text2] => 李四 
    [id2] => d
    [text3] => 王五
    [id3] => e
    [text4] => 
    [id4] => 
    [text5] => 
    [id5] => 
    [text6] => 
    [id6] =>
    ......
}
这个是print_r出来的值
现在,我需要经过处理后得到下面这样的值(上面的text..和id..是有规律的),
Array
{
    [张三] => x
    [李四] => d
    [王五] => e
    ....
}
求高人相解

解决方案 »

  1.   


    $arr = array();
    for($i=1;$i<=(count($array))/2;$i++){
         $arr[$array["text".$i]]=$array["id".$i];
    }
    print_r($arr);
      

  2.   


    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);我这样做的,绕了个大圈子,楼上的好方法,我去测试下。
      

  3.   


    // $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];
    }
      

  4.   


    //$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
    )