php配列脱重
3009 ワード
配列内の重複項目の除去
1 D配列の重複:
array_の使用Unique関数でいいです.使用例は次のとおりです.
結果は以下の通りである:Array([0]=>apple[1]=>banaa[2]=>pear[4]=>wail[5]=>watermalon).
2 D配列の重複:
2 D配列については、あるキー名の値が重複できないため、重複項目を削除する2つの状況に分けて議論します.もう1つは、内部の1次元配列が完全に同じではないため、重複項目を削除します.次に例を示します.
あるキー名の値が重複できないため、重複項目を削除する
表示結果は、Array([0]=>Array([id]=>123[name]=>張三)[1]=>Array([id]=>124[name]=>王五)[2]=>Array([id]=>125[name]=>趙六)[3]=>Array([id]=>126[name]=>趙六))
二内部の一次元配列が完全に同じではないため、重複項目を削除する
表示結果:Array([0]=>Array([0]=>123[1]=>張三)[1]=>Array([0]=>>123[1]=>李四)[2]=>Array([0]=>>124[1]=>王五)[4]=>Array([0]=>126[1]=>趙六))
1 D配列の重複:
array_の使用Unique関数でいいです.使用例は次のとおりです.
結果は以下の通りである:Array([0]=>apple[1]=>banaa[2]=>pear[4]=>wail[5]=>watermalon).
2 D配列の重複:
2 D配列については、あるキー名の値が重複できないため、重複項目を削除する2つの状況に分けて議論します.もう1つは、内部の1次元配列が完全に同じではないため、重複項目を削除します.次に例を示します.
あるキー名の値が重複できないため、重複項目を削除する
$v)
{
if(in_array($v[$key], $tmp_arr))// $v[$key] $tmp_arr , true
{
unset($arr[$k]);
}
else {
$tmp_arr[] = $v[$key];
}
}
sort($arr); //sort
return $arr;
}
$aa = array(
array('id' => 123, 'name' => ' '),
array('id' => 123, 'name' => ' '),
array('id' => 124, 'name' => ' '),
array('id' => 125, 'name' => ' '),
array('id' => 126, 'name' => ' ')
);
$key = 'id';
assoc_unique(&$aa, $key);
print_r($aa);
?>
表示結果は、Array([0]=>Array([id]=>123[name]=>張三)[1]=>Array([id]=>124[name]=>王五)[2]=>Array([id]=>125[name]=>趙六)[3]=>Array([id]=>126[name]=>趙六))
二内部の一次元配列が完全に同じではないため、重複項目を削除する
$v){
$temp[$k] = explode(",",$v); //
}
return $temp;
}
$aa = array(
array('id' => 123, 'name' => ' '),
array('id' => 123, 'name' => ' '),
array('id' => 124, 'name' => ' '),
array('id' => 123, 'name' => ' '),
array('id' => 126, 'name' => ' ')
);
$bb=array_unique_fb($aa);
print_r($bb)
?>
表示結果:Array([0]=>Array([0]=>123[1]=>張三)[1]=>Array([0]=>>123[1]=>李四)[2]=>Array([0]=>>124[1]=>王五)[4]=>Array([0]=>126[1]=>趙六))