2016-04-28 5 views
2

私はこのロジックを正しく行う方法を見つけるのに苦労しています。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(); 
} 

をそしてこの試みた:それはヌルthatsのものになったときにどちらもちょうどクラッシュ

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

を。私は理由を知っていますが、ヌルをスキップする方法を理解できません。

あなたがわからない場合は、私は初心者です。しかし、私は学んでいます。

EDIT:db内の物はヌルです。

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

はこのように、NULLで単一引用符を試してみてください - もし($値 - > getThing()== 'NULL') –

答えて

2

は、このコードを試してみてください。

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

..orおそらく:私はそれを呼び出すために好きなようにあなたが実際に探しているものを

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

私はあなたの答えを受け入れるように、あなたが最初に回答しました。私はまだエラーがありますが、これ以上正確には関連していません。ご協力いただきありがとうございます! – user6104636

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であれば...」

幸運。

+0

私はそれが今、explinationのおかげで参照してください – user6104636

0

はこれを試してみてください:

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

// To check the number of lines 

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

foreach($names as $name) { 
    echo $name.'<br>'; 
} 
関連する問題