Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #16613
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Newsgroups | comp.lang.php |
| Subject | Re: break foreach loop after certain iteration and then start it |
| Date | 2016-03-05 10:52 +0100 |
| Message-ID | <56DAAC64.6010102@arnowelzel.de> (permalink) |
| References | <6586983f-c3bc-4eb7-92a3-6035952e8cbb@googlegroups.com> <56D946D4.9030504@arnowelzel.de> <2056947.pXOX0CipXs@PointedEars.de> |
Thomas 'PointedEars' Lahn schrieb am 2016-03-05 um 02:28:
> Arno Welzel wrote:
>
>> <?php
>> $counter = 0;
>>
>> foreach($mylist as $element)
> ^^
>> {
>> // Do something with $element
>>
>> // Add something every three elements
>> $counter++;
>> if($counter==3)
> ^^
> Flow control statements should not be written like function calls.
Which is a matter of style. I recognize flow control statements also
when they are not formatted with a space preceding the first bracket ;-).
But for beginners it may be helpful to distinguish between function
calls and flow control.
>> {
>> echo '<div id="logo"></div>';
>> $counter = 0;
>> }
>> }
>
> One does not have to reset the counter if one uses the modulo operator, %,
> to determine the indexes that are divisible by 3 without remainder.
>
> ++$counter;
> if ($counter % 3 === 0)
> {
> …
> }
>
> or
>
> if (++$counter % 3 === 0)
> {
> …
> }
Of course one can use modulo as well and use the index of the array in
combination with modulo as well. And yes - I know modulo and many other
things ;-)
But I doubt the OP understands "modulo". I just want to show the basic
idea behind it. Finding out what a modulo operator is and that this can
make things easier is something the OP should find out on his own -
because then it doesn't just copy & paste code he doesn't understand but
came to the knowledge by his own experience.
[...]
> Or, if this is too confusing,
>
> if (($index + 1) % 3 === 0)
You believe this is not confusing for beginners who ask how to achieve
the goal to do something every third step of an iteration?
This means:
1. You have to understand the syntax of foreach() in this example
2. You have to understand the modulo operator
3. You have to understand why (x+1) % 3 is zero for 0, 2, 5 etc.
When someone had enough knowledge to understand all this he would not
ask here how to do something every third iteration within a foreach() loop.
--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
http://fahrradzukunft.de
Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
break foreach loop after certain iteration and then start it apoorv.kanungo@gmail.com - 2016-03-03 22:08 -0800
Re: break foreach loop after certain iteration and then start it Arno Welzel <usenet@arnowelzel.de> - 2016-03-04 09:27 +0100
Re: break foreach loop after certain iteration and then start it Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-05 02:28 +0100
Re: break foreach loop after certain iteration and then start it Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-04 21:32 -0500
Re: break foreach loop after certain iteration and then start it Arno Welzel <usenet@arnowelzel.de> - 2016-03-05 10:52 +0100
Re: break foreach loop after certain iteration and then start it Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-05 11:46 +0100
Re: break foreach loop after certain iteration and then start it Tim Streater <timstreater@greenbee.net> - 2016-03-05 12:08 +0000
Re: break foreach loop after certain iteration and then start it Arno Welzel <usenet@arnowelzel.de> - 2016-03-05 14:10 +0100
Re: break foreach loop after certain iteration and then start it Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-05 17:55 +0100
Re: break foreach loop after certain iteration and then start it Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-05 08:50 -0500
Re: break foreach loop after certain iteration and then start it Arno Welzel <usenet@arnowelzel.de> - 2016-03-06 10:57 +0100
Re: break foreach loop after certain iteration and then start it Tim Streater <timstreater@greenbee.net> - 2016-03-06 11:26 +0000
Re: break foreach loop after certain iteration and then start it Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-06 10:12 -0500
Re: break foreach loop after certain iteration and then start it Arno Welzel <usenet@arnowelzel.de> - 2016-03-06 22:48 +0100
Re: break foreach loop after certain iteration and then start it Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-06 20:49 -0500
Re: break foreach loop after certain iteration and then start it "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-03-07 16:28 +0100
Re: break foreach loop after certain iteration and then start it Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-07 12:38 -0500
Re: break foreach loop after certain iteration and then start it Arno Welzel <usenet@arnowelzel.de> - 2016-03-07 17:42 +0100
Re: break foreach loop after certain iteration and then start it Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-07 12:39 -0500
Re: break foreach loop after certain iteration and then start it Arno Welzel <usenet@arnowelzel.de> - 2016-03-09 08:18 +0100
Re: break foreach loop after certain iteration and then start it "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-03-09 10:05 +0100
Re: break foreach loop after certain iteration and then start it Jerry Stuckle <jstucklex@attglobal.net> - 2016-03-09 08:56 -0500
Re: break foreach loop after certain iteration and then start it "R.Wieser" <address@not.available> - 2016-03-04 09:34 +0100
csiph-web