【问题标题】:PHP - value of previous key in foreach loopPHP - foreach 循环中前一个键的值
【发布时间】:2018-01-14 08:43:12
【问题描述】:

我有一个 sql 查询返回这样的行:

ID | Code | Numb 1 | 1 | 1 2 | 2 | 2 3 | 3 | 3

我正在尝试编写始终显示先前值的 foreach 循环。

我的正常 foreach 循环是这样的:

foreach($array as $key => $val) { echo '$val['code']; }

如何使值始终来自上一行?

【问题讨论】:

  • 您的预期输出是什么?这个问题不清楚,因为不确定您为什么要这样做。
  • 循环总是为零,如果你想要key之前的特定值,我们可以得到
  • 我的目标是当循环回显第二个代码 2 它应该是 1 @LawrenceCherone 然后第三个代码将是 2
  • 那么你应该接受@Sohel0415 的回答,因为它确实做到了(虽然有点不整洁)。

标签: php arrays foreach


【解决方案1】:

您可以将您的old value 保留为variable,并在下一个iteration 中使用它。正如 @Daniel 所指出的,您需要使用 isset() 检查该变量是否已定义。

foreach($array as $key => $val) {
  if(isset($prev)) 
     echo $prev;
  $prev = $val['code'];
}

【讨论】:

  • 第一次 echo $prev; 未定义。你应该检查它 if(isset($prev)) echo $prev;
  • 您必须在循环之外再次回显最后一项。
  • @Matt 是的,如果他需要,他应该,我只是考虑前面的数据部分
  • @Sohel0415,我试过了,效果很好..谢谢
猜你喜欢
  • 2010-12-22
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
  • 2012-11-20
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多