English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Metodo per rimuovere duplicati da un array bidimensionale PHP [conservare tutte le chiavi e valori]

Questo articolo illustra il metodo di rimozione delle duplicazioni degli array bidimensionali in PHP. Condivido con tutti per riferimento, come segue:

Per la seguente matrice bidimensionale, è richiesto di rimuovere le duplicazioni:

$arr = array(
     '0'=>array(
          'name'=>'james',
          'age'=>30,
          ),
     '1'=>array(
          'name'=>'susu',
          'age'=>26,
          ),
     '2'=>array(
          'name'=>'james',
          'age'=>30,
          ),
     'new'=>array(
          'name'=>'kube',
          'age'=>37,
          ),
     'list'=>array(
          'name'=>'kube',
          'age'=>27,
          ),
     );

1、 I valori degli array uno-dimensionali all'interno delle matrici bidimensionali non possono essere completamente identici, eliminare le voci duplicate:

Il codice è il seguente:

<?php
$arr = array(
     '0'=>array(
          'name'=>'james',
          'age'=>30,
          ),
     '1'=>array(
          'name'=>'susu',
          'age'=>26,
          ),
      '2'=>array(
          'name'=>'james',
          'age'=>30,
          ),
      'new'=>array(
          'name'=>'kube',
          'age'=>37,
          ),
      'list'=>array(
          'name'=>'kube',
          'age'=>27,
          ),
      );
printf("Before tranform the array:<br>");  //输出原来的数组
print_r($arr);
echo "<br/>";
function more_array_unique($arr=array()){}}
  foreach($arr[0] as $k => $v){
    $arr_inner_key[]= $k;  //Registrazione delle chiavi degli array interni in un array uno-dimensionale
  }
  foreach ($arras $k => $v){
    $v =join(",",$v);  //Riduzione di una dimensione utilizzando implode() è anche accettabile
    $temp[$k] =$v;   //Mantenere le chiavi originali $temp[] non mantiene le chiavi originali
  }
  printf("Dopo la divisione dell'array:<br>");
  print_r($temp);  //Output dell'array diviso
  echo"<br/>";
  $temp =array_unique($temp);  //Rimozione dei duplicati: rimuovere le stringhe duplicate
  foreach ($tempas $k => $v){
    $a = explode(",",$v);  //Riorganizzazione dopo la divisione come: Array( [0] => james [1] => 30 )
    $arr_after[$k]= array_combine($arr_inner_key,$a); //Riunire le chiavi originali e i valori
  }
  //ksort($arr_after);//Ordinamento come necessario: ksort per ordinare l'array mantenendo le chiavi originali, sort per non mantenere le chiavi
  return$arr_after;
}
$arr_new = more_array_unique($arr); //Chiamata alla funzione di rimozione dei duplicati
printf("Rimozione dei duplicati dell'array:<br>");
print_r($arr_new);
echo "<br/>";
?>

Risultato di output:

Prima della trasformazione dell'array:  //Originale array
Array ( [0] => Array ( [name] => james [age] => 30 ) [1] => Array ([name] => susu [age] => 26 ) [2] => Array ( [name] => james [age]=> 30 ) [new] => Array ( [name] => kube [age] => 37 ) [list] =>Array ( [name] => kube [age] => 27 ) )
Dopo la divisione dell'array: //Array dopo la divisione
Array ( [0] => james,30 [1] => susu,26 [2] => james,30 [new] =>kube,37 [list] => kube,27 )
Rimozione dei duplicati dell'array: //Array dopo la rimozione dei duplicati
Array ( [0] => Array ( [name] => james [age] => 30 ) [1] => Array ([name] => susu [age] => 26 ) [new] => Array ( [name] => kube [age]=> 37 ) [list] => Array ( [name] => kube [age] => 27 ) )

2、 Eliminare i duplicati all'interno dell'array bidimensionale per un determinato valore di chiave:

Per rimuovere i duplicati per un determinato valore di chiave

<?php
$arr= array(……); //Come l'array bidimensionale sopra
functionsecond_array_unique_bykey($arr, $key){
  $tmp_arr = array();
  foreach($arr as $k => $v)
  {
    if(in_array($v[$key], $tmp_arr))  //Cercare se$v[$key] è presente nell'array $tmp_arr, se presente restituisce true
    {
      unset($arr[$k]); //Distruggere una variabile Se$tmp_arr contiene già lo stesso valore, rimuovere questo valore
    }
    else {
      $tmp_arr[$k] = $v[$key]; //Mettere i valori diversi in questo array per conservarli
    }
  }
  //ksort($arr); //ksort funzione per ordinare l'array (mantenendo la chiave originale) sort non mantiene la chiave
  return $arr;
  }
  $key ='name';
  $arr_key = second_array_unique_bykey($arr,$key);
  printf("In merito alla chiave fornita->%s:<br>",$key);
  print_r($arr_key);
  echo "<br/>";
?>

Risultato di output:

Riguardo alla chiave fornita->name:
Array ( [0] => Array ( [name] => james [age] => 30 ) [1] => Array ([name] => susu [age] => 26 ) [new] => Array ( [name] => kube [age]=> 37 ) )

PS: Questo sito offre anche due strumenti di rimozione duplicati di testo online semplici e实用,vi consiglio di provarli:

Strumento di rimozione duplicati online:
http://tools.jb51.net/code/quchong

Strumento di rimozione duplicati di testo online:
http://tools.jb51.net/aideddesign/txt_quchong

Per chi è interessato a ulteriori contenuti relativi a PHP, è possibile consultare le sezioni speciali di questo sito: 'Tecniche di manipolazione degli array (Array) PHP complete', 'Tecniche e tecniche di scansione ricorrenti PHP', 'Sommarizzazione dell'uso delle stringhe (string) PHP', 'Sommarizzazione delle funzioni e tecniche PHP', 'Sommarizzazione dei metodi di gestione degli errori e delle eccezioni PHP', 'Tutorial di base della sintassi PHP', 'Tutorial di base della progettazione orientata agli oggetti PHP', 'Tutorial di base dell'operazione del database MySQL PHP', 'Riassunto delle tecniche di operazione dei database comuni PHP'.

Spero che questo articolo possa essere utile per la progettazione di programmi PHP di tutti.

Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, di proprietà del rispettivo autore, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una email a notice#oldtoolbag.com (sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare