Skip to content

Instantly share code, notes, and snippets.

@mgng
Created March 19, 2012 02:07
Show Gist options
  • Save mgng/2090497 to your computer and use it in GitHub Desktop.
Save mgng/2090497 to your computer and use it in GitHub Desktop.
PHP の array_unique で多次元配列の重複削除できるか
<?php
$a = array(
array(1,2,3),
array(1,2,3),
array(4,5,6),
);
print_r(array_unique($a));
// Array
// (
// [0] => Array
// (
// [0] => 1
// [1] => 2
// [2] => 3
// )
// )
<?php
$a = array(
array(1,2,3),
array(1,2,3),
array(4,5,6),
);
print_r(array_unique($a, SORT_REGULAR));
<?php
$a = array(
array(1,2,3,array(4,5)),
array(1,2,3,array(4,5)),
array(4,5,6,array(7,8)),
);
print_r(array_unique($a, SORT_REGULAR));
<?php
$a = array(
array('a'=>1, 'b'=>2),
array('a'=>1, 'b'=>2),
array('a'=>2, 'b'=>3),
);
print_r(array_unique($a, SORT_REGULAR));
<?php
$a = array(
array('a'=>1, 'b'=>2, 'c'=>array('d'=>3,'e'=>4)),
array('a'=>1, 'b'=>2, 'c'=>array('d'=>3,'e'=>4)),
array('a'=>2, 'b'=>3),
);
print_r(array_unique($a, SORT_REGULAR));
<?php
$a = array(
array('a'=>1, 'b'=>2, 'c'=>array('d'=>3,'e'=>4)),
array('b'=>2, 'a'=>1, 'c'=>array('e'=>4,'d'=>3)),
array('a'=>2, 'b'=>3),
);
print_r(array_unique($a, SORT_REGULAR));
<?php
$a = array(
array('a'=>1, 'b'=>2),
array('a'=>1, 'b'=>2),
array('a'=>2, 'b'=>3),
);
$tmp = array();
foreach($a as $val) {
if (!in_array($val, $tmp)) {
$tmp[] = $val;
}
}
print_r($tmp);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment