Simplifier code

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Simplifier code

Re: Simplifier code

par fatalfury » 12 mars 2019, 12:52

Oui, avec la boucle for, ça devient plus clair pour moi :

Code : Tout sélectionner

if (empty($$var)) $$var = null; // $$var équivaut à $ban, puis $copy, etc...
Merci encore

Re: Simplifier code

par Saian » 12 mars 2019, 12:45

Oui ça devrait fonctionner comme ça.
Pour les variables dynamiques c'est pas compliqué en fait :
$foo = 'bar';
$var = 'foo';
echo $$var;// affiche bar, étant donné que $$var correspond à $foo ($var est remplacé par sa valeur) et que $foo est égale à bar.

Re: Simplifier code

par fatalfury » 12 mars 2019, 12:38

Salut,
foreach (array('ban', 'copy', 'menu', 'img', 'txt') as $var)
  if (empty($$var)) 
    $$var = null;
Merci, c'est excellent !!!

J'ai un peu de mal à comprendre la logique des variables dynamiques ici.
Je vais essayer de refaire avec une boucle for, ce qui donne ceci ?

Code : Tout sélectionner

$table = ['ban', 'copy', 'menu', 'img', 'txt']; $nb_elements = count($table); for ($i=0; $i<$nb_elements; $i++) { $var = $table[$i]; if (empty($$var)) $$var = null; }

Re: Simplifier code

par Saian » 12 mars 2019, 12:27

Merci @rthur :)
C'est typiquement le genre de choses que je fais dans mes codes car j'ai un vrai problème avec les redondances, parfois même minimes. ^^

Re: Simplifier code

par @rthur » 12 mars 2019, 12:08

Ah oui, bien vu Saian ! :-)

Re: Simplifier code

par Saian » 12 mars 2019, 11:30

Salut,
foreach (array('ban', 'copy', 'menu', 'img', 'txt') as $var)
  if (empty($$var)) 
    $$var = null;

Re: Simplifier code

par @rthur » 11 mars 2019, 21:58

Bonjour,

Trois pistes :
if (empty($ban)) unset(ban);
Ou
if (empty($ban)) $ban = null;
Ou
$ban = empty($ban) ? null : $ban;

Simplifier code

par fatalfury » 11 mars 2019, 20:23

Bonjour, j'aimerais savoir s'il y a possibilité de simplifier ceci ?

Code : Tout sélectionner

if (empty($ban)) { $ban = null; } if (empty($copy)) { $copy = null; } if (empty($menu)) { $menu = null; } if (empty($img)) { $img = null; } if (empty($txt)) { $txt = null; }
Merci