Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/06/2008, 15h09   #1
Gunner4902
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut éviter les doublons

Bonjour,

Voici un bout de mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
if ($color1[$p1] === "rouge")
  {
      $color2 = array('bleu', 'vert');
      $p2 = array_rand($color2);
      echo "$color2[$p2]";
  }
else
  {
      $color2 = array('rouge', 'bleu', 'vert');
      $p2 = array_rand($color2);
      echo "$color2[$p2]";
  }
est-il possible de faire plus court en ne déclarant qu'une fois $color2, comme suit :
Code :
$color2 = array('rouge', 'bleu', 'vert');
et en mettant une fonction (ou autre) qui excluerait 'rouge' si celui-ci est contenu dans '$color1' ?

Merci
  Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h14   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 453
Points : 5 453
Il ya array_pop et array_shift qui dépilent le dernier ou le premier élément du tableau...
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h21   #3
Gunner4902
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
array_shift pourrait m'intéresser, mais comment le coupler avec la condition que le premier élément soit présent dans le tableau $color1 ?
  Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h24   #4
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
Code :
1
2
3
4
if ($tab1[$index]==="valeur") {
  unset($tab2[$index_de_valeur]);
  // ou unset($tab2[array_search($tab1[$index], $tab2)]);
}
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h00   #5
Gunner4902
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
J'ai opté pour
Code :
unset($tab2[array_search($tab1[$index], $tab2)]);


Merci de votre aide (rapide et efficace comme d'habitude )
  Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Mettre Résolu
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h17.


 
 
 
 
Partenaires

Hébergement Web