Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre éclairé
    Inverser la valeur de 2 variables sans passer par une troisième intermédiaire
    bonjour,

    est-ce que dans les versions récentes de PHP on peut enfin inverser le contenu de 2 variables sans avoir à passer par une intermédiaire ?
    éviter de faire cela par exemple :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $a="toto";
    $b="jean";
     
    $temp=$a;
    $a=$b;
    $b=$temp;
    $temp=null;


    Si le contenu de $a ou $b est gros, ça surcharge la mémoire de créer un doublon par $temps, et l'opération de mise à null ajoute une instruction côté compilateur.

    toujours pas de fonction dédiée genre swap($a,$b) ? techniquement le compilateur pourrait le faire par echange de variable mémoire...curseur... non ? alors pourquoi apres 10ans de php, on a pas de swap ?

    Bonne journée à vous

  2. #2
    Expert confirmé
    Au choix:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    [$a, $b] = [$b, $a]; // PHP >= 7.1
     
    list($a, $b) = [$b, $a];


    Je n'ai aucune idée de la manière dont PHP traite ça (s'il y a création de tableau ou pas).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Rédacteur/Modérateur

    plus traditionnel:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $a="coucou";
    $b="la foule";
     
    $a.="|".$b;
    $a = explode("|",$a);
    $b = $a[1];
    $a = $a[0];
     
    echo '$a => '.$a ."<br/>";
    echo '$b => '.$b ."<br/>";
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

###raw>template_hook.ano_emploi###