Doubts about endforeach

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



LVL 4
Pedro ChagasWebmasterAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Roger BaklundCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Roger BaklundCommented:
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
Beverley PortlockCommented:
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.