在if / PHP中添加两个相关条件

时间:2016-12-30 18:45:22

标签: php

我想找到一种方法在我的" if"与第一个条件有关。有没有办法翻译"关注"在PHP吗?

我的启动脚本有一个条件:

 foreach ($array as $key => $value) {
 if ($begin == false && $value == 'T') {
 ...
 }}

我的最终剧本有两个相关的条件:

 foreach ($array as $key => $value) {
 if ($begin == false && $value == 'T' FOLLOW BY $value == 'D') {
 ...
 }}
例如

数组:

 Word => S
 Word => H 
 Word => T //related with D
 Word => D //related with T
 Word => Q

2 个答案:

答案 0 :(得分:1)

如果您的$array是数字,则可以检查$array[$key+1]

的值
foreach ($array as $key => $value) {
    if ($begin == false && $value == 'T' && array_key_exists($key+1, $array) && $array[$key+1] == 'D') {
        ...
    }
}
  

请注意,我还在代码中插入一个检查数组中是否存在 next 键(否则在最后一个循环中会出现问题)

如果你的$array是关联数组,那就更难了。我们需要将keys保存在临时数组中,以便我们检查它们的位置:

$array_keys = array_keys($array);
foreach ($array as $key => $value) {
    $key_pos = array_search($key, $array_keys);
    if ($begin == false && $value == 'T' && array_key_exists($key_pos+1, $array_keys) && $array[array_keys[$key_pos+1]] == 'D') {
        ...
    }
}

答案 1 :(得分:0)

我不知道我的答案是否适合您的情况,但更简单的解决方案就是内爆数组并执行简单的文本搜索。