Logo journal du hacker middle
  1. 6
  1.  

  2. 1

    Pas de commentaires possibles dans la page, donc ici : La clé d'un tableau est stockée comme hash, donc c'est probable que cela marche, mais le foreach convertissant d'un tableau en objet doit lui aussi être coûteux. Ensuite, il n'y a aucune stat citée ou papier qui démontrent la différence de vitesse d'exé entre les deux snippets. Cela mériterait d'être testé à différentes tailles, avec des tableaux de 1000, 10.000 et 100.000 entrées.

      1. 1

        oui mais il manque le foreach qui construit le dictionnaire.

        1. 2

          Il est inutile le foreach dans l'exemple ainsi que la variable $copyHaystack.

          Tout tableau est un tableau associatif en PHP.. Si la clé n'est pas déclarée, elle a la valeur de l'index. Il suffit de remplacer in_array dans l'exemple de l'article par isset, ça fonctionnera quand même =>

          $needle = ‘pim’;

          $haystack = [‘pim’, ‘pam’, ‘poum’];

          if(isset($needle, $haystack))

          {

          echo ‘Pim est présent’;

          }

          1. 1

            Oh ! j'en découvre tous les jours ! Merci ! Mais du coup, psi la valeur est un autre tableau, une fonction, ou que sais-je ?

            1. 1

              Oui elle a la valeur de l'index, donc ton tableau $haystack est indexé par 0, 1, 2 et donc $haystack[$pim] ne sera pas défini. D'où l'intéret de recréer le tableau

      2. 1

        Euh, c'est juste ou moi, ou l'URL tombe sur une erreur 404 !!!

        L'URL correcte semble plutôt être : https://hehackedmy.wordpress.com/2018/06/14/php-astuces-doptimisation/

        1. 1

          @ins0 si tu passes ici, méfiance quand tu changes l'URL après coup ;)

          Tcho !

          1. 1

            Méa culpa ! Merci de la modification