duanni5726 2017-01-04 15:35
浏览 70

从值中停止不同的循环

I have a problem concerning my script which allows me to take keys and values of an array ($array) and to add them to an existing array ($arraywithfourwords).

The problem I've encountered is that when I loop over $array, the loop does not break when I expect it to. In the case below, it should break when the value "A" is encountered.

For information, $arraywithfourwords is defined from the beginning, and $array is the array taken at random and to which I attempt to "match" the keys and values of this first array.

$arraywithfourwords before script :

[Aero] => D
[Blue] => V
[Almond] => Q
[Amazon] => X

$array:

[Aero] => D
[Blue] => V
[Almond] => Q
[Amazon] => X
[Android] => A   //STOP BREAK THE LOOP
[Cherry] => J    //Not continue
[Citrine] => P   //Not continue
[Dark] => M      //Not continue
[Celeste] => E   //Not continue

$fourthKey = [Amazon]

Script:

$passed = false;
foreach($array as $key => $value){
    if ($passed && $value != 'A' && $value != 'P')
    {
                $passed2 = 'valid';
                $arraywithfourwords[$key] = $value;

    }

    if ($key == $fourthKey && $value != 'A' && $value != 'P')
    {
                $passed = true;
    }
    if ($passed2 == 'valid') 
    {
                break;
    }

}

print_r($arraywithfourwords);

$arraywithfourwords after script:

[Aero] => D
[Blue] => V
[Almond] => Q
[Amazon] => X
[Cherry] => J //My problem

$arraywithfourwords after script that I search:

[Aero] => D
[Blue] => V
[Almond] => Q
[Amazon] => X 
  • 写回答

1条回答 默认 最新

  • donv29560 2017-01-04 16:19
    关注

    This will stop the loop when you find a 'stop' value :

    $stopValues = array('A', 'P');
    
    foreach ($array as $key => $value) {
      if(in_array($value, $stopValues)) {
        break;
      }
      elseif(!in_array($value, $arraywithfourwords)) { // prevent to have duplicated values
        $arraywithfourwords[$key] = $value;
      }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图