suite croissante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : suite croissante

Re: suite croissante

par stealth35 » 29 déc. 2009, 21:40

ouai c'est pas tres important,
juste un reflex d'optimisation === etant plus rapide que == :wink:
Le genre d'optimisations qui ne valent même pas le temps qu'on leur accorde... :mrgreen:

Ce qui importe c'est le sens de l'expression, pas sa vitesse d'exécution.
oui et non je d'accord avec toi sur le principe que c'est hyper minime, par contre
c'est la bonne expression et la seul qu'on devrai t'uiliser dans ce cas puisque qu'on comprare un nombre avec un autre nombre :

1 == '1' //true
1 === '1' //false

Re: suite croissante

par macgawel » 29 déc. 2009, 17:51

ouai c'est pas tres important,
juste un reflex d'optimisation === etant plus rapide que == :wink:
Le genre d'optimisations qui ne valent même pas le temps qu'on leur accorde... :mrgreen:

Ce qui importe c'est le sens de l'expression, pas sa vitesse d'exécution.
Un autre intérêt, c'est de prendre l'habitude d'utiliser le bon opérateur.

Parce que s'il n'y a pas de problème ici, dans d'autres cas on peut se retrouver avec des effets de bord et/ou des failles de sécurité.
Au moins, en prenant l'habitude d'utiliser le bon opérateur au bon endroit, on prend les bons reflexes...

Sinon, pour répondre au problème de départ et si on ne fait rien dans les autres cas, je partirais plutôt sur :
$count = $count($rows);
for ($i = 1; $i < $count; $i+= 4 ) {
// code en prenant $rows[$i]
}
Ca évite de passer les trois-quarts du temps à boucler dans le vide :mrgreen:

Re: suite croissante

par Berzemus » 29 déc. 2009, 17:36

ouai c'est pas tres important,
juste un reflex d'optimisation === etant plus rapide que == :wink:
Le genre d'optimisations qui ne valent même pas le temps qu'on leur accorde... :mrgreen:

Ce qui importe c'est le sens de l'expression, pas sa vitesse d'exécution.

Re: suite croissante

par stealth35 » 29 déc. 2009, 17:10

ouai c'est pas tres important,
juste un reflex d'optimisation === etant plus rapide que == :wink:

Re: suite croissante

par Ryle » 29 déc. 2009, 12:31

Ce n'est effectivement pas utile ici, puisque le résultat d'une opération arithmétique sera un nombre :)
(encore que quand j'étais en cm1, je tombais souvent sur des booléens ou des chaines de caractères 8-| )

Re: suite croissante

par Invité » 29 déc. 2009, 11:37

Merci pour vos réponses.
Pourquoi i

f(($key % 4) === 1

et pas

f(($key % 4) == 1

Je sais que === est l'opérateur d'identité mais quel utilité ici?

Re: suite croissante

par stealth35 » 29 déc. 2009, 03:32

non, ca se fait avec les modulos ca

dans ta boucle (dans le cas ou les cléfs de tableau sont normales, sinon tu fais avec ton $c

Code : Tout sélectionner

foreach($data as $key => $value) {     if(($key % 4) === 1)     {           //do something     } } 

Re: suite croissante

par djtec » 29 déc. 2009, 02:58

Fait un tableau avec array() et ensuite vérifie dans ta boucle si $i est dans le tableau grâce à in_array()

suite croissante

par Invité » 29 déc. 2009, 02:31

Bonjour à tous,

J'ai une boucle php avec incrémentation comme ceci:
        $i = 0;
	foreach ($rows as $row)
	{

		//code...
	   $i++;
	}
$i va de 0 à + l'infini.
Ce que je voudrais faire:
exécuter une action dans la boucle à chaque fois que $i a la valeur:
1, ou 3, ou 7, ou 11, ou 15, ou 19, ou 23 ...

On peut voir qu'il y a une augmentation de 4 à chaque fois. Je n'arrive pas à exprimer cela en php, pourriez-vous me conseiller sur la marche à suivre?
Merci pour vos réponses.