Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
635 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Variables dynamiques à partir de PHP 7

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variables dynamiques à partir de PHP 7

n°2328515
zezette
"Allez hop, au revoir"
Posté le 01-02-2019 à 15:05:19  profilanswer
 

Bonsoir à tous,
 
J'ai migré mon site d'un hébergement PHP 5.6 à un PHP 7.2.. Dans les grandes lignes tout semble fonctionner sauf les pages sur lesquelles j'ai utilisé des variables dynamiques..
 
Une de mes variables par exemple est comme ceci :  
 
echo $tableau[$autretableau[$j].$i];
 
$tableau contient les clés marcel1 marcel2 polo1 polo2 (chaque clé a une valeur numérique)
$autretableau contient les clés 1 et 2 dont la valeur est marcel et polo
$i et $j sont des compteurs de 1 à 2
 
Pas de message d'erreur, mais il ne se passe rien
 
Je dois modifier cette variable pour qu'elle soit compatible avec PHP 7 mais je ne vois pas comment ; c'est sans doute une question de $$ ou/et de {}  
 
Y a t'il un surdoué pour m'expliquer ? :)
 
Merci :)


Message édité par zezette le 01-02-2019 à 15:10:30

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
mood
Publicité
Posté le 01-02-2019 à 15:05:19  profilanswer
 

n°2328522
mechkurt
Posté le 01-02-2019 à 15:52:40  profilanswer
 

Je n'ai pas rencontré ce problème spécifiquement mais as tu essayé Google qui renvoie sur la doc officiel :
http://php.net/manual/fr/migration [...] g.indirect


---------------
D3
n°2328524
zezette
"Allez hop, au revoir"
Posté le 01-02-2019 à 16:18:47  profilanswer
 

En fait ça n'a rien avoir :) Cette variable est dans un for, et mon compteur $j atteint 3 et comme il n'y a pas d'index 3 , ça bug... Il faudrait faire un issset avant ; tout ça dans un for ça risque d'être compliqué  
 
Faut croire que PHP7 est plus strict que PHP5


Message édité par zezette le 01-02-2019 à 16:22:07

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
n°2328530
MaybeEijOr​Not
but someone at least
Posté le 01-02-2019 à 17:44:01  profilanswer
 

Bonjour,

 

Y a t-il des indexes supérieurs à 3 ?
Non --> ben pourquoi tu vas jusqu'à 3 et non jusqu'à 2 ?
Oui --> pourquoi il n'y a pas de 3 ? http://php.net/manual/fr/control-s [...] ntinue.php ou http://php.net/manual/fr/control-s [...] oreach.php


Message édité par MaybeEijOrNot le 01-02-2019 à 17:47:38

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2328531
zezette
"Allez hop, au revoir"
Posté le 01-02-2019 à 18:09:36  profilanswer
 

Ben parce qu'un for va jusqu’à 1 trop loin :
 
for($i=1;$i<7;$i++)
{
  for($j=1;$tableau[$autretableau[$j].$i] && $j<=2;$j++)
     echo  $tableau[$autretableau[$j].$i];
}

Message cité 1 fois
Message édité par zezette le 01-02-2019 à 22:39:18

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
n°2328541
MaybeEijOr​Not
but someone at least
Posté le 01-02-2019 à 19:51:34  profilanswer
 

zezette a écrit :

Ben parce qu'un for va jusqu’à 1 trop loin :
 
for($i=0;$i<7;$i++)
{
  for($j=0;$tableau[$autretableau[$j].$i] && j<2;$j++)
     echo  $tableau[$autretableau[$j].$i];
}


 

Code :
  1. for($i=0;$i<7;$i++)
  2. {
  3.   for($j=0;$tableau[$autretableau[$j].$i] && $j<2;$j++)
  4.      echo  $tableau[$autretableau[$j].$i];
  5. }


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2328543
zezette
&#034;Allez hop, au revoir&#034;
Posté le 01-02-2019 à 19:54:19  profilanswer
 

C'était pas un copier coller, c'est pas mon code, cette faute de frappe n'a rien avoir avec mon problème ;)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
n°2328545
MaybeEijOr​Not
but someone at least
Posté le 01-02-2019 à 20:05:24  profilanswer
 

Donc là dans ta boucle, ton $j va jusqu'à 3 ? Alors qu'il ne devrait être que 0 ou 1 dans la boucle et 2 une fois sorti de la boucle.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2328548
MaybeEijOr​Not
but someone at least
Posté le 01-02-2019 à 20:25:06  profilanswer
 

Pourtant ça fonctionne :  http://tpcg.io/BOLKdN  

Code :
  1. <?php
  2.          $myArray['a1'] = 1;
  3.          $myArray['a2'] = 2;
  4.          $myArray['b1'] = 3;
  5.          $myArray['b2'] = 4;
  6.          $startKey[0] = 'a';
  7.          $startKey[1] = 'b';
  8.        
  9.          for( $i = 1; $i<3; $i++ ) {
  10.             for( $j = 0; $j<2; $j++ ) {
  11.                 echo $myArray[$startKey[$j] . $i];
  12.             }
  13.          }
  14.          echo '<br>';
  15.          for( $i = 0; $i<2; $i++ ) {
  16.             for( $j = 1; $j<3; $j++ ) {
  17.                 echo $myArray[$startKey[$i] . $j];
  18.             }
  19.          }
  20.       ?>


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2328566
zezette
&#034;Allez hop, au revoir&#034;
Posté le 01-02-2019 à 22:43:53  profilanswer
 

C'est la concaténation d'une valeur nulle (puisqu'il n'y a pas d'index 3) avec qqch qui bug :
 
$tableau[$autretableau[3].$i]
 
$tableau[null.$i]
 
En tous cas sur PHP 7.2.14


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
mood
Publicité
Posté le 01-02-2019 à 22:43:53  profilanswer
 

n°2328579
MaybeEijOr​Not
but someone at least
Posté le 01-02-2019 à 23:57:40  profilanswer
 

Oui mais pourquoi tu arrives à l'index 3 ?


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2328637
zezette
&#034;Allez hop, au revoir&#034;
Posté le 04-02-2019 à 08:57:51  profilanswer
 

Bon... j'ai trouvé ; mon problème n'avait aucun rapport en fait...
 
Pour débugger j'avais affiché les erreur (et les notices)... Et comme ce code est dans un image générée (GD), la notice était dans le fichier image généré et l'image ne s'affichait pas...  
 


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variables dynamiques à partir de PHP 7

 

Sujets relatifs
Je veux envoyer un email avec PHPExécuter une fonction en PHP avec un bouton HTML
3 formulaires Dynamiques av "sourcerer" (plug jml)Reconversion intensive en PHP
Optimisation Macro remplissage feuille à partir d'autres feuilles[HTML/PHP/CSS] Diff de 2 données
include PHP, aucun reload[PHP / JS] Récupérer ligne txt
[PHP] SQL_SRV ne fonctionne point :(Probleme de PHP Formulaire de contact
Plus de sujets relatifs à : Variables dynamiques à partir de PHP 7


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR