以前、配列の重複排除に関する記事を書きましたが、それは 1 次元配列に限定されていました。次の関数は 2 次元配列に使用できます:
コードをコピーします コードは次のとおりです:
//2 次元配列から重複する値を削除します
function array_unique_fb($array2D)
{
foreach ($array2D as $v)
{
$v = join(",",$v); //次元を削減するために、implode を使用して 1 次元配列を次のように接続された文字列に変換することもできます。 commas
$temp[] = $v;
$temp = array_unique($temp); //繰り返しの文字列、つまり繰り返しの 1 次元配列を削除します
foreach ($temp as $k => $v)
{
$temp[$k] =explode( ",",$v); // 逆アセンブルした配列を再構築する
}
return $temp;
配列のキー値を保持したい場合は、次の関数を使用できます:
コードをコピー コードは次のとおりです:
//二次元配列は重複した値を削除し、キー値を保持します
function array_unique_fb($array2D)
{
foreach ($array2D as $k=>$v)
{
$v = join(",",$v); //次元を削減するには、implode を使用して 1 次元配列を変換することもできます。カンマでつながれた文字列
$temp[$k] = $v;
}
$temp = array_unique ($temp) //繰り返しの文字列、つまり繰り返しの一次元配列を削除します
foreach ($temp as $k = > $v)
{
$array=explode(",",$v); // 逆アセンブルされた配列
$temp2[$k]["id"] =$array[0]; $k]["litpic"] =$array[1];
$ temp2[$k]["タイトル"] =$array[2];
$temp2[$k]["アドレス"] =$array[ 3];
$temp2[$k]["開始時刻"] =$ 配列[4];
$temp2[$k][" classid"] =$array[6];
$temp2[$k] ["ename"] =$array[7];
}
return $temp2;
}
以上です。
2次元配列の重複排除
コードをコピー
コードは次のとおりです: $arr = array(
array('id' => 1,'name' => 'aaa' ),
array('id' => 2,'name' => 'bbb'),
array('id' => 3,'name' => 'ccc'),
array(' id' => 4,'name' => 'ddd'),
array('id' => 5,'name' => 'ccc'),
array('id' = > 6 ,'名前' => 'aaa'),
array('id' => 'bbb'),
関数 assoc_unique(&$arr, $key )
{
$rAr=array();
for($i=0;$i{
if(!isset($rAr[$arr[$i][$ key]] ))
{
$rAr[$arr[$i][$key]]=$arr[$i]
}
}
$arr=array_values($rAr)
}
assoc_unique(& $arr, '名前');
print_r($arr)>
http://www.bkjia.com/PHPjc/323968.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/323968.html
技術記事以前、配列の重複排除に関する記事を書きましたが、それは 1 次元配列に限定されていました。次の関数は 2 次元配列に使用できます: コードをコピーします コードは次のとおりです: //2 次元配列から重複する値を削除します fun...