[风言风语终结者] PHP for / foreach / while 性能比较
[流言终结者] PHP for / foreach / while 性能比较
我女喷友跟我说哦, 那个啥, 听别人说php中最好用foreach不要用for, 因为性能会好点.
我第一反应就是觉得没可能, 第二反应是想一下为什么别人会有这样的结论.
我猜测有的孩纸测试for时, 大概用了以下形式:
for($i=0; $i<count($array); $i++){...}
孩纸, 每次循环都要count一下$array里有多少东西, 这可是要耗资源的, 除非将来某个版本的PHP会对这种方式做优化.改为以下形式:
$arraySize = count($array);for($i=0; $i<$arraySize; $i++){...}
PHP对foreach的内部优化估计也是这样的.
然后我就上网找了一下持有"foreach比for效率高"观点的孩纸的实验是怎么做的, 找到其中一个结果:
http://www.phpq.net/research/foreach-while-for.html
果然如我所想, TA在测试for的时候, 用了以下的形式:
for($i = 0; $i < count($arr); $i++){$str .= $arr[$i];}
我拿TA的实验用例改为:
$size = count($arr);
for($i = 0; $i $str .= $arr[$i];
效率就上来了.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Kernelsecuritycheckfailure (échec de la vérification du noyau) est un type de code d'arrêt relativement courant. Cependant, quelle qu'en soit la raison, l'erreur d'écran bleu rend de nombreux utilisateurs très angoissés. Laissez ce site présenter soigneusement 17 types de solutions aux utilisateurs. 17 solutions à l'écran bleu kernel_security_check_failure Méthode 1 : Supprimer tous les périphériques externes Lorsqu'un périphérique externe que vous utilisez est incompatible avec votre version de Windows, l'erreur d'écran bleu Kernelsecuritycheckfailure peut se produire. Pour ce faire, vous devez débrancher tous les périphériques externes avant d'essayer de redémarrer votre ordinateur.

1. La différence entre Iterator et foreach est la différence polymorphe (la couche inférieure de foreach est Iterator). Iterator est un type d'interface, et il ne se soucie pas du type de collection ou de tableau ; de la collection en premier, et même le type d'éléments dans la collection ; 1. Pourquoi dit-on que la couche inférieure de foreach est le code écrit par Iterator : Code décompilé : 2. La différence entre supprimer dans foreach et iterator. dans le manuel de développement Java d'Alibaba, mais aucune erreur ne sera signalée dans le cas 1, et une erreur sera signalée dans le cas 2 (java. util.ConcurrentModificationException) en premier

Les étapes permettant à PHP de déterminer le numéro de la boucle foreach : 1. Créez un tableau de "$fruits" ; 2. Créez une variable de compteur "$counter" avec une valeur initiale de 0. 3. Utilisez "foreach" pour boucler. à travers le tableau, et augmentez la valeur de la variable compteur dans le corps de la boucle, puis affichez chaque élément et son index ; 4. Affichez la valeur de la variable compteur en dehors de la boucle "foreach" pour confirmer quel élément atteint la boucle.

La fonction Count est utilisée pour compter le nombre de nombres dans une plage spécifiée. Elle ignore le texte, les valeurs logiques et les valeurs nulles, mais compte les cellules vides. La fonction Count ne compte que le nombre de cellules contenant des nombres réels. La fonction CountA est utilisée pour compter le nombre de cellules non vides dans une plage spécifiée. Il compte non seulement les cellules contenant des nombres réels, mais également le nombre de cellules non vides contenant du texte, des valeurs logiques et des formules.

Cet article expliquera en détail comment PHP renvoie un tableau après avoir inversé la valeur de la clé. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. PHP Key Value Flip Array Key Value Flip est une opération sur un tableau qui échange les clés et les valeurs du tableau pour générer un nouveau tableau avec la clé d'origine comme valeur et la valeur d'origine comme clé. Méthode d'implémentation En PHP, vous pouvez effectuer un retournement clé-valeur d'un tableau via les méthodes suivantes : Fonction array_flip() : La fonction array_flip() est spécialement utilisée pour les opérations de retournement clé-valeur. Il reçoit un tableau en argument et renvoie un nouveau tableau avec les clés et les valeurs échangées. $original_array=[

Win10 Skype peut-il être désinstallé ? C'est une question que de nombreux utilisateurs veulent savoir, car de nombreux utilisateurs constatent que cette application est incluse dans le programme par défaut de leur ordinateur et craignent que sa suppression affecte le fonctionnement du système. ce site aide les utilisateurs Examinons de plus près comment désinstaller Skype Entreprise dans Win10. Comment désinstaller Skype Entreprise dans Win10 1. Cliquez sur l'icône Windows sur le bureau de l'ordinateur, puis cliquez sur l'icône des paramètres pour entrer. 2. Cliquez sur "Appliquer". 3. Entrez « Skype » dans la zone de recherche et cliquez pour sélectionner le résultat trouvé. 4. Cliquez sur "Désinstaller". 5

Titre : Exemple d'utilisation de la fonction Array.Sort pour trier un tableau en C# Texte : En C#, un tableau est une structure de données couramment utilisée, et il est souvent nécessaire de trier le tableau. C# fournit la classe Array, qui possède la méthode Sort pour trier facilement les tableaux. Cet article explique comment utiliser la fonction Array.Sort en C# pour trier un tableau et fournit des exemples de code spécifiques. Tout d’abord, nous devons comprendre l’utilisation de base de la fonction Array.Sort. Tableau.Donc

Comment utiliser for pour trouver n factorielle : 1. Utilisez l'instruction "for (var i=1;i<=n;i++){}" pour contrôler la plage de parcours de la boucle sur "1~n" 2. Dans la boucle ; body, utilisez "cj *=i" Multipliez les nombres de 1 à n et attribuez le produit à la variable cj 3. Une fois la boucle terminée, la valeur de la variable cj est la factorielle de n, puis affichez-la.
