Jump to content
Sign in to follow this  
sandrinoo

Afficher les éléments uniques d'un tableau php

Recommended Posts

Bon eh bien je bloque depuis ce matin là-dessus donc je lance une bouteille dans l'océan de webmaster-hub :

 

J'ai besoin d'afficher seulement les chiffres uniques du tableau suivant (ou autrement dit supprimer tous les chiffres comportant un doublon, doublon compris) :

 

$array = [[12,'vert'],[123452,'jaune'],[1235,'vert'],[123452,'vert'],[123450,'jaune']];

 

c'est-à dire pour mon exemple :

 

Array
(
    [0] => Array
        (
            [0] => 12
            [1] => vert)


    [2] => Array
        (
            [0] => 1235
            [1] => vert)


    [4] => Array
        (
            [0] => 123450
            [1] => jaune))

 

Merci d'avance si quelqu'un voit comment s'y prendre ?

 

Share this post


Link to post
Share on other sites
<?php
function countNumber($array, $val){
	$nb = 0;
	foreach($array as $o){
		if($o[0] == $val){
			$nb++;	
		}
	}
	return $nb;
}
 $array = [[12,'vert'],[123452,'jaune'],[1235,'vert'],[123452,'vert'],[123450,'jaune']]; 
echo "<pre>";
print_r($array);
echo "</pre>";
$tab = array();
foreach($array as $o){
	if(countNumber($array, $o[0]) == 1){
		$tab[] = $o;
	}
}
echo "<pre>";
print_r($tab);
echo "</pre>";

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Et bien grand merci Eric, c'est exactement ça !

Quand c'est récursif comme ça, c'est beaucoup trop matheux pour moi et je ne pense pas que j'y serais arrivée seule !

 

Merci encore Eric !

 

Par curiosité, si cela avait été avec 2 arrays distincts du style :

 $array1 = [[12,'vert'],[123452,'vert'],[1235,'vert'],[123452,'vert'],[123450,'vert']]; 
 $array2 = [[12,'vert'],[188,'vert'],[12,'vert'],[197,'vert'],[197,'vert']]; 

et le résultat toujours  : [1235,'vert'] , [123450,'vert'] et [188,'vert']

 

Le code aurait été plus compliqué ou plus simple ?

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

cela aurait commencer par :

$array = array_merge($array1, $array2);

Share this post


Link to post
Share on other sites

Oui merci pour ta réponse Eric.

 

Oui ça je m'en doutais avec array_merge mais je voulais juste savoir si c'était plus simple et plus rapide un script qui tourne sur 1 array_merge du total (comme tu me l'as créé plus haut) ou un autre script sur 2 arrays distincts.

Mais ça doit être pareil à peu de chose près...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...