嗨,有什么方法可以连接到值相同的记录?
喜欢
[12]=> Array (
 [ID] => 127078
 [row1] => 
 [post] => N16 7UJ
)
[13]=> Array (
 [ID] => 127078
 [row1] => something
 [post] =>
)
像那样做
[12]=> Array (
 [ID] => 127078
 [row1] => something
 [post] => N16 7UJ
)
你有很多选择,比如array_replace
array_merge
foreach
while
Iterator
但我更喜欢array_replace,因为您可以轻松选择哪个阵列正在替换哪个阵列
价值观
$array[12] = array("ID"=>127078,"row1"=>"","post"=>"N16 7UJ");
$array[13] = array("ID"=>127078,"row1"=>"something","post"=>"");
var_dump($array[12]);
示例array_replace(http://www.php.net/manual/en/function.array-replace.php)
$array[13] = array_filter($array[13]); //Filter Replacement
$array[12]= array_replace($array[12],$array[13]);
示例array_merge(http://php.net/manual/en/function.array-merge.php)
//$array[12] = array_filter($array[12]); //Optinal 
$array[13] = array_filter($array[13]); //Filter Spaces
$array[12]= array_merge($array[12],$array[13]);
var_dump($array[12]);
输出
array
  'ID' => int 127078
  'row1' => string 'something' (length=9)
  'post' => string 'N16 7UJ' (length=7)
这里取这个函数
<?php
$array = array(
                12 => array (
                 "ID" => '127078',
                 "row1" => '',
                 "post" => 'N16 7UJ',
                ),
                13 => array (
                 "ID" => '127078',
                 "row1" => 'something',
                 "post" => '',
                )
            );
function mergedup($array,$matcher){
    if(!function_exists('remove_element')){
        function remove_element($arr,$element){
            $ret_arr = array();
            foreach($arr as $val){
                if($val !== $element){
                    array_push($ret_arr,$val);
                }
            }
            return $ret_arr;    
        }
    }
    $array = remove_element($array,array());
    $return_array = array();
    while(isset($array[0])){
        $temp = $array[0];
        $array = remove_element($array,$temp);
        $array_temp = array();
        foreach($array as $vals){
            if($temp[$matcher]==$vals[$matcher]){
                array_push($array_temp,$vals);
                foreach($temp as $key => $val){
                    if(empty($temp[$key])){
                        $temp[$key] = $vals[$key];
                    }
                }
            }
        }
        foreach($array_temp as $vals){
            $array = remove_element($array,$vals);
        }
        array_push($return_array,$temp);
    }
    return $return_array;
}
var_dump(mergedup($array,"ID"));
?>
经过测试和工作