recherche

Maison  >  Questions et réponses  >  le corps du texte

Parcourez chaque valeur du tableau, puis utilisez une instruction switch sur ces valeurs.

<p>Je suis nouveau sur PHP et je me demandais si quelqu'un pouvait m'aider. </p><p>J'ai un tableau, la valeur dans le tableau est déterminée par une autre fonction, mais la valeur du tableau est toujours "avertissement", "critique" ou "ok", la longueur du tableau peut aussi être arbitraire. Par exemple : </p><p><br /></p> <p><code>$hold = tableau ( 'avertissement','avertissement','critique','ok');</code></p> <p>Comment utiliser la fonction switch et la fonction de boucle for pour qu'elles parcourent chaque valeur du tableau et impriment le message correspondant (peu importe le nombre de fois que le message apparaît dans le tableau, par exemple, un avertissement apparaît deux fois dans le tableau, l'avertissement doit alors être imprimé deux fois). </p><p>J'ai essayé le code ci-dessous mais il s'affiche toujours inconnu. </p><p><br /></p> <pre class="brush:php;toolbar:false;">switch($hold){ cas 'ok' : echo 'tout va bien'; casser; cas 'avertissement' : echo 'c'est un avertissement'; casser; cas 'critique' : echo 'c'est critique'; casser; défaut: echo 'inconnu'; };</pré> <p>Merci</p>
P粉513316221P粉513316221570 Il y a quelques jours744

répondre à tous(1)je répondrai

  • P粉295616170

    P粉2956161702023-07-31 11:28:23

    Écrire une instruction switch nécessite pas mal de code. Pourquoi ne pas utiliser un autre tableau pour associer le message à l'état dans $hold ? Comme ça :

    $hold = ['warning', 'warning', 'critical', 'ok', 'this is bad'];
    
    $messages =  ['warning'  => 'it is a warning',
                  'critical' => 'its critical', 
                  'ok'       => 'everyhting is ok'];
    
    foreach ($hold as $status) {
        echo ($messages[$status] ?? 'unknown') . PHP_EOL;
    }

    Comme vous pouvez le voir, j'ai utilisé une boucle foreach() pour parcourir $hold.

    J'ai utilisé un tableau associatif et l'opérateur de coalescence spécial Null. Si vous n'aimez pas cette façon, vous pouvez utiliser votre instruction switch.

    Veuillez voir la démo : https://3v4l.org/jNkfF

    répondre
    0
  • Annulerrépondre