如何仅在循环的第一次迭代中执行其他操作?

sta*_*zel 1 php loops

我知道怎么做...我将在下面给出示例代码.但我不能动摇这种感觉,即如果不使用类似的变量,有一种聪明的方法可以完成我想做的事情$isfirstloop.

$isfirstloop = true;
foreach($arrayname as $value) {
 if ($isfirstloop) {
  dosomethingspecial();
  $isfirstloop = false;
 }
 dosomething();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法dosomethingspecial()只在第一个循环上执行,而dosomething()在每个循环上执行,而不引入变量,如$isfirstloop

谢谢!

Gar*_*eth 7

如果我错过了什么,请原谅我,但为什么不在循环之前做你想做的事情呢?

dosomethingspecial();
foreach($arrayname as $value) {
 dosomething();
}
Run Code Online (Sandbox Code Playgroud)

  • dosomethingspecial()将始终被调用,无论$ arrayname数组是否填充了元素,我认为如果它至少填充了一个元素,他至少希望调用它. (3认同)

Jam*_*ore 5

foreach ($arr as $i => $val)
{
  if ($i == 0) { doSomethingSpecial(); } // Only happens once.
  doSomething(); // Happens every time.
}
Run Code Online (Sandbox Code Playgroud)