如何跳过PHP中的行

时间:2016-04-28 14:04:24

标签: php

我正在努力寻找正确执行这种逻辑的方法。

If (this thing is null)
   Skip it
Else 
   Don't skip it

我尝试使用if / else和while循环,但每个都会使程序崩溃。我测试这样的东西:

(inside a foreach)
if($value->getThing() == NULL) {
   //HOW TO SKIP???
      //I try to 'set' this thing
    $value->setThing(0); //BUT IT Doesn't work because it's an associated object...
} else {
   $value->getThing();
}

尝试了这个:

(inside foreach)
while ($value->getThing() != NULL) {
    $value->getThing();
    //Do Calculation...
}

当它到达null的东西时,它们都会崩溃。我知道为什么,但我无法弄清楚如何跳过空的东西。

如果你不能告诉我,我是新手。但我在学习。

编辑:数据库中的东西为空。

4 个答案:

答案 0 :(得分:2)

试试这段代码:

foreach($values as $value){
   if(!is_null($value->getThing())){
    #do calculation
  }
}

答案 1 :(得分:2)

对于"跳过"您可以使用的条目"继续"。

foreach($array as $key => $value){
    if($value['foo'] == null){
        continue;
    }
    //Do the calculation
}

..或者也许:

foreach($array as $key => $value){
    if(is_null($value['foo'])){
        //Null value treatment
        continue;
    }
    //Do the calculation
}

答案 2 :(得分:1)

您实际需要的是我想称之为NOT IS运营商。

foreach ($things as $thing) {
    if (!is_null($thing)) {
        // Do the stuff that you wanna do
    }
}

上述虚拟代码教导您不必使用else。它还显示is_null()函数,用于检查某些内容是否实际为NULL。此外,它还显示!运算符,也可以转换为NOT IS

!is_null()实际上说的是:"如果此函数,变量等的返回值不是NULL ..."

祝你好运。

答案 3 :(得分:0)

试试这个:

$names = file('name.txt');

// To check the number of lines 

echo count($names).'<br>';

foreach($names as $name) {
   echo $name.'<br>';
}