| Deutsch English Français Italiano |
|
<td35ms$fb$1@cabale.usenet-fr.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!news.trigofacile.com!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen <om+news@miakinen.net> Newsgroups: fr.comp.lang.php Subject: =?UTF-8?Q?Re:_Incr=c3=a9ment_dans_une_boucle_for?= Date: Thu, 11 Aug 2022 17:02:52 +0200 Organization: There's no cabale Lines: 57 Message-ID: <td35ms$fb$1@cabale.usenet-fr.net> References: <td310r$r30$1@gioia.aioe.org> NNTP-Posting-Host: 49.121.125.78.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1660230172 491 78.125.121.49 (11 Aug 2022 15:02:52 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Thu, 11 Aug 2022 15:02:52 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.1 In-Reply-To: <td310r$r30$1@gioia.aioe.org> Bytes: 2647 Le 11/08/2022 à 15:42, Didier a écrit : > Bonjour, > Est-il possible d'incrémenter la variable d'une boucle for autrement que > de 1 ? Oui. > Je voudrais un truc du genre : > $intervalle=20; > for($i=0;$i<100;$i+intervalle) for($i=0;$i<100;$i+=intervalle) Soit dit en passant, je préfère pour ma part du code plus aéré : for ($i = 0; $i < 100; $i += intervalle) > Je me heurte à une erreur : > Allowed memory size of 134217728 bytes exhausted (tried to allocate > 100663304 bytes) C'est normal si tu fais des allocations dans ta boucle. Avec $i = 0 qui n'est jamais incrémenté, la valeur de ($i + intervalle) est égale à intervalle à chaque tour de boucle, cela fait donc une boucle infinie. > (je ne sais pas si c'est directement lié à mon incrément). Donc non. Tu ne fais aucun incrément, et le problème d'allocation doit avoir lieu quelque part dans la boucle. > Sur Internet, on ne voit que des exemples de type $i++ En effet, il est dommage que sur cette page ils ne parlent pas de la possibilité d'incrémenter ou décrémenter d'une valeur autre que 1 : https://www.php.net/manual/fr/language.operators.increment.php C'est dans les opérateurs d'affectation que l'on voit la syntaxe $a += $b : https://www.php.net/manual/fr/language.operators.assignment.php Note que c'est une syntaxe raccourcie, et que l'affectation normale conviendrait tout aussi bien, à savoir : $a = $a + 1 au lieu de $a++ $a = $a - 1 au lieu de $a-- $a = $a + 2 au lieu de $a += 2 et ainsi de suite. Pour en revenir à ton exemple, tu pouvais donc écrire : for ($i = 0; $i < 100; $i = $i + intervalle) -- Olivier Miakinen