PHP数组中断数组问题


php array issue with break array

我得到了一个数组:

$myArrays = array(5,4,3,2,1);
foreach($myArrays as $myArray)
{
  echo $myArray;
  $val = 3;
  if($myArray == $val)
  {
     break;
  }
}

输出:5、4、3

我希望它是

输出:3、2、1

这可能吗?

可以使用下面的代码片段。当你定义array时,它的第一个元素总是左边的元素。

<?php
foreach($myArrays as $myArray)
{
  if ($myArray <= 3) {
    echo $myArray;
  }
}
$myArrays = array(5,4,3,2,1);
foreach($myArrays as $myArray)
{
  $val = 3;
  if($myArray > $val)
  {
     continue;
  }
  echo $myArray;
}

只需在外部循环中设置一个boolean变量,以跟踪是否获得了要查找的元素。

跳过循环(通过使用continue关键字),直到找到该元素。

所以你会像这样,

$foundelement=false;
foreach($myArrays as $myArray)
{
  $val = 3;
  if(!$foundelement && $myArray != $val)
  {
     continue;
  } else {
     $foundelement=true;
  }
  if($foundelement) {
      echo $myArray;
  }
}

演示:https://eval.in/620081