Solved

Doubts about endforeach

Posted on 2009-06-30
3
550 Views
Last Modified: 2012-05-07
Hi E's, I use foreach for do cycles with arrays, and I want do like a break in foreach, in this case I discover endforeach in php.net.
My doubt about endforeach is what happening when I call endforeach, they finish all the cycle or just the key in that moment?

In practice if I have this array and this code:
1 => um
2 => dois
3 => tres

foreach($array as $element){
if ($element == "um"){
endforeach;
} else {
echo "do something";
}
}

My doubt is if the system run array [2] and [3] after endforeach (finish all cycle foreach or just for the moment that endforeach as call)?

Regards, JC



0
Comment
Question by:Pedro Chagas
  • 2
3 Comments
 
LVL 39

Accepted Solution

by:
Roger Baklund earned 100 total points
ID: 24750820
That is not how to use endforeach. This is not a function, it is an alternative way to end a foreach loop block instead of using {}.

http://php.net/manual/ru/control-structures.alternative-syntax.php

What you need is "break;", like this:
foreach($array as $element){

  if ($element == "um")

    break;

  echo "do something";

}
 

# if you want to skip "um" but continue looping, use "continue;" instead:
 

foreach($array as $element){

  if ($element == "um")

    continue;

  echo "do something";

}

Open in new window

0
 
LVL 39

Expert Comment

by:Roger Baklund
ID: 24750828
Heh, that link was to the russian version of the php manual, but the text on that page is currently in english... for future reference, this is the english version:

http://php.net/manual/en/control-structures.alternative-syntax.php
0
 
LVL 34

Assisted Solution

by:Beverley Portlock
Beverley Portlock earned 25 total points
ID: 24752576
One thing that should be pointed out, because it is easily missed in the documentation, is that the OPENING brace is replaced with a colon so that

foreach( $a as $b ) {
....
}

becomes

foreach( $a as $b ) :
....
endforeach;

Also note that "endforeach" is followed with a ; whereas a } does not  have a following ;

0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Popularity Can Be Measured Sometimes we deal with questions of popularity, and we need a way to collect opinions from our clients.  This article shows a simple teaching example of how we might elect a favorite color by letting our clients vote for …
Consider the following scenario: You are working on a website and make something great - something that lets the server work with information submitted by your users. This could be anything, from a simple guestbook to a e-Money solution. But what…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now