不低于php!<

时间:2014-11-28 23:52:35

标签: php for-loop operators

我已经看过这里,很多人都说没有办法让操作员!&lt ;,因为如果有的话!<然后它必须是= ..但我试图定义条件不包括foreach循环的结果。

为了这个例子,foreach的结果返回25个结果,每个$ results保持一个值增加10

for ($block = 10; $block <= 250; $block+=10 ) {
    echo $block . '<br>';
}

这将是结果

 $a = 10
 $b = 20
 $c = 30
 $d = 40
 $e = 50 
 $f = 60
 $g = 70
 $h = 80
 $i = 90
 $j = 100
 ... and so no

在foreach循环中

 $dropBefore =30; 
 $dropAfter =90; 

 if ($block >= $dropBefore && $block <= $dropAfter - 1){

结果

 $c = 30
 $d = 40
 $e = 50 
 $f = 60
 $g = 70
 $h = 80
 $i = 90

我现在的问题是,我想以$ d,$ e,$ f为目标,删除并留下剩余的结果 我的结果看起来像

 $c = 30
 $g = 70
 $h = 80
 $i = 90

I have 2 variables 
$start_value = 40
$finish_value = 60

if($block != $startValue && !<$finishValue){ 
    //$block != $startValue removes $d, 
    but !<$finishValue is invalid and I get the syntax error unexpected !

如果我说

if($block != $startValue && < $finishValue){ 
    //$block != $startValue removes $d, 
    but < $finishValue  removes everything greater than $f and $e and $f remains
$e = 50
$f = 60

如何保留所有内容但删除$ startValue,$ finishValue以及它们之间的任何内容?

2 个答案:

答案 0 :(得分:1)

东西!&lt;实际上是&gt; =,而不是=。

但是你想要价值&lt;比$ startValue OR&gt;比$ finishValue显示,所以:

if($block < $startValue || $block > $finishValue) echo $block

不确定为什么改变了你的逻辑。你上面几行使用的几乎相同。

答案 1 :(得分:1)

您的问题表明会创建一大堆单独的变量,但这不会发生在您提供的代码中。关于操纵迭代得到的结果的问题是有趣的,当然也是公平的。以下代码符合您指定的限制和排除。如果您还希望存储显示的结果值,那么使用数组可以保持组织良好,如下所示:

<?php

$start_value = 40;
$finish_value = 60;

$dropBefore = 30; 
$dropAfter = 90;
$let = 'a';
$arr = null;

for ($block = 10; $block <= 250; $block+=10 ) {
    if (( $block >= $dropBefore ) && ( $block <= $dropAfter ) ) {
        if ( $block >= $start_value && $block <= $finish_value ) {
            continue;
        }
        echo $block,"\n";
        $arr[$let++] = $block;
    }
}

var_dump($arr);

40到60之间的任何值都将被忽略,因为循环再次继续在顶部,而不是执行&#39; echo $ block,&#34; \ n&#34;&#39;声明。我还发现我必须消除&#39; -1&#39;关于&#39;&lt; = $ dropAfter -1&#39;因为它阻止了&#39; 90从出现在结果中。如果您喜欢这样的键,我会按字母顺序排列数组的键。

输出:

30
70
80
90
array(4) {
  ["a"]=>
  int(30)
  ["b"]=>
  int(70)
  ["c"]=>
  int(80)
  ["d"]=>
  int(90)
}