PHP Array [Résolu], Problème de correspondance entre array1 et array 2 |
Bienvenue invité ( Connexion | Inscription )
PHP Array [Résolu], Problème de correspondance entre array1 et array 2 |
23 Jun 2020, 14:51
Message
#1
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 045 Inscrit : 7 Sep 2003 Lieu : Monsempron-Libos (47) Membre no 9 439 |
Bonjour à tous.
J'ai un problème que je n'arrive pas à résoudre en php. Quelqu'un peut-il m'aider ? (Evidemment après maintes recherches sans trouver d'explications claires et valables). Pour transformer le mois en numérique en chaîne alpha : CODE $mois_num=12; $array1 = array('1','2','3','4','5','6','7','8','9','10','11','12'); $array2 = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'); $mois_alpha = str_replace($array1, $array2, $mois_num); echo ("mois_alpha =====> ".$mois_alpha."<br />"); Le résultat pour un nbre à 2 chiffres me donne 2 mois dans la chaîne. L'exemble ci-dessus me renvoie "JanvierFévrier". (Logique 1 et 2 en suivant) Je ne comprends pas. J'ai déjà souvent (malgré mon état de débutant en PHP) utilisé ceci et je n'ai jamais rencontré ce problème !! Puis-je avoir de l'aide de la part d'une bonne âme. Merci d'avance. -------------------- iMac 27" (Mojave 10.14.1) - PowerMac G4-1.250 Ghz Bi (Tiger-Pour Classic- & Leopard) - IMac G5 20"-2 Ghz (Tiger-Pour Classic- & Leopard)- IMac G5 Intel Core i5 27"-2.66GHz (Snow Leopard [10.6.7] & Os 9.03 [Par SheepShaver]).
Imprimantes : Epson EPL6100 (Pour les travaux administratifs) - Xanté AW1200 (pour les stabis A3) - Xerox DC12 et Xerox DC242 (Pour la production) Avez-vous pensé à ce que nous deviendrions sans macbidouille.com ? Non au langage SMS sur internet ! |
|
|
23 Jun 2020, 14:58
Message
#2
|
|
Terminaltor Moderating Machine Groupe : Admin Messages : 24 454 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 |
https://www.php.net/manual/en/function.str-replace.php
If search or replace are arrays, their elements are processed first to last. Donc oui, c'est logique… À la limite en mettant les tableaux à l'envers ça fonctionnerait (mais ça reste quand même bien laid comme technique, transformer un entier en chaîne pour utiliser des replace dessus après, alors que juste un $array2[$mois_num-1] ferait le job…) -------------------- I think therefore I Mac
|
|
|
23 Jun 2020, 15:02
Message
#3
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 263 Inscrit : 31 Aug 2002 Lieu : Saint-Jean-de-Luz Membre no 3 355 |
Bonjour,
Tu te compliques beaucoup la vie pour rien. par défaut, un tableau est indexé avec des nombres. Le premier index étant zéro. fait plutôt ça car ton array1 ne sert à rien : Code <?php
$mois_num=12; $array2 = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'); $mois_alpha = $array2[($mois_num-1)]; echo ("mois_alpha =====> ".$mois_alpha."<br />"); -------------------- En activité : Macbook pro 15" Core I7 à 2.8Ghz de 2015 - Macbook pro 13" Core I5 à 2.5Ghz - Macbook pro 15" Core duo de 2006 qui marche toujours hyper bien - iPhone 6s - iPad - iPad Mini
En Panne : Imac 27 Pouces Core I7 à 3.4Ghz - mid 2011 (je cherche un écran) A la retraite : Imac C2D 24 Pouces (blanc) à 2.33 Ghz - iBook14" 800 Mhz - Quicksilver 733 - G3 bleu et blanc - Macintosh Classic - iPhone 3G - iPhone 4s Crea64 : creation de site internet à Saint-Jean-de-Luz (64) |
|
|
23 Jun 2020, 15:08
Message
#4
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 045 Inscrit : 7 Sep 2003 Lieu : Monsempron-Libos (47) Membre no 9 439 |
Merci à vous. Super !
Philippe64 m’a maché tout le boulot. Merci. -------------------- iMac 27" (Mojave 10.14.1) - PowerMac G4-1.250 Ghz Bi (Tiger-Pour Classic- & Leopard) - IMac G5 20"-2 Ghz (Tiger-Pour Classic- & Leopard)- IMac G5 Intel Core i5 27"-2.66GHz (Snow Leopard [10.6.7] & Os 9.03 [Par SheepShaver]).
Imprimantes : Epson EPL6100 (Pour les travaux administratifs) - Xanté AW1200 (pour les stabis A3) - Xerox DC12 et Xerox DC242 (Pour la production) Avez-vous pensé à ce que nous deviendrions sans macbidouille.com ? Non au langage SMS sur internet ! |
|
|
23 Jun 2020, 16:37
Message
#5
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 263 Inscrit : 31 Aug 2002 Lieu : Saint-Jean-de-Luz Membre no 3 355 |
Note aussi que tu peux présenter ton tableau de façon associative pour avoir la numérotation que tu préfères :
Code <?php
$mois_num=12; $array2 = array(1=>'Janvier',2=>'Février',3=>'Mars',4=>'Avril',5=>'Mai',6=>'Juin',7=>'Juillet',8=>'Août',9=>'Septembre',10=>'Octobre',11=>'Novembre',12=>'Décembre'); $mois_alpha = $array2[$mois_num]; echo ("mois_alpha =====> ".$mois_alpha."<br />"); -------------------- En activité : Macbook pro 15" Core I7 à 2.8Ghz de 2015 - Macbook pro 13" Core I5 à 2.5Ghz - Macbook pro 15" Core duo de 2006 qui marche toujours hyper bien - iPhone 6s - iPad - iPad Mini
En Panne : Imac 27 Pouces Core I7 à 3.4Ghz - mid 2011 (je cherche un écran) A la retraite : Imac C2D 24 Pouces (blanc) à 2.33 Ghz - iBook14" 800 Mhz - Quicksilver 733 - G3 bleu et blanc - Macintosh Classic - iPhone 3G - iPhone 4s Crea64 : creation de site internet à Saint-Jean-de-Luz (64) |
|
|
15 Oct 2020, 16:53
Message
#6
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 045 Inscrit : 7 Sep 2003 Lieu : Monsempron-Libos (47) Membre no 9 439 |
Re. On peut me redire comment fermer un sujet résolu ?
Merci. -------------------- iMac 27" (Mojave 10.14.1) - PowerMac G4-1.250 Ghz Bi (Tiger-Pour Classic- & Leopard) - IMac G5 20"-2 Ghz (Tiger-Pour Classic- & Leopard)- IMac G5 Intel Core i5 27"-2.66GHz (Snow Leopard [10.6.7] & Os 9.03 [Par SheepShaver]).
Imprimantes : Epson EPL6100 (Pour les travaux administratifs) - Xanté AW1200 (pour les stabis A3) - Xerox DC12 et Xerox DC242 (Pour la production) Avez-vous pensé à ce que nous deviendrions sans macbidouille.com ? Non au langage SMS sur internet ! |
|
|
15 Oct 2020, 17:48
Message
#7
|
|
The Original Martian <span style= Groupe : Modérateurs Messages : 6 730 Inscrit : 25 May 2004 Lieu : sɹɐɯ ⅋ ʞɹoʎ ʍǝu ʍǝu ⅋ ǝssᴉns Membre no 19 190 |
Il faut éditer le premier post et ajouter [résolu] dans le titre, on ne le ferme pas.
Cette fois, je le fais pour toi. -------------------- MBP 16" Sequoia 15.0 MBA 13" Sonoma 14.6.1
DBCM III Disciple du MSV Team BOINC Macbidouille But I'm a creep, I'm a weirdo - What the hell am I doin here? - I don't belong here Radiohead Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes - S'il n'y a pas de solution, c'est qu'il n'y a pas de problème - Devises Shadok La connaissance, c'est savoir que la tomate est un fruit. La sagesse, c'est savoir qu'il ne faut pas la mettre dans une salade de fruit. B O'D |
|
|
Nous sommes le : 27th September 2024 - 04:22 |