2012-02-20 8 views
-3

少なくとも1つのの値がプラスまたはマイナス250の0の範囲内にあるかどうかを調べるにはどうすればよいですか?言い換えれば、-250〜+ 250のいずれかの値が少なくとも1つある場合は、これは肯定的な結果です。それ以外の場合は、否定を返します。ここで指定された数のプラスまたはマイナスの絶対値の配列を確認してください

は(理由は数-144の肯定的な結果を返す必要があります)配列である:

Array 
(
[Nov 18, 2011] => Array 
    (
     [C] => -1738 
    ) 
    (
     [I] => -144 
    ) 
[Jan 13, 2012] => Array 
    (
     [C] => -3193 
    ) 
    (
     [M] => 4377 
    ) 
) 

答えて

2
<?php 
foreach ($root as $data) { 
    $positive = false; 

    foreach ($data as $number) { 
     if ($number >= -250 && $number <= 250) { 
      $positive = true; 
      break; 
     } 
    } 

    if ($positive) 
     break; 
} 

if ($positive === true) ... 
+0

'($正)場合が壊れることを何;'そこでやって? – sarnold

+0

関数内でコードが* not *であると仮定すると、 'if($ positive)break;'は、指定された範囲内の少なくとも1つの数値が見つかると、スクリプトがそれ以降のルート配列の要素を反復するのを防ぎます。 ( 'break;'の最初のインスタンスは 'サブアレイ'から壊れてしまいます。)これが関数に置かれた場合、スニペットはかなり単純化される可能性があります。 – simshaun

2
function containsDesiredValue($array){ 
    foreach ($array as $subArray) 
     foreach ($subArray as $value) 
      if (abs($value) <= 250) 
       return true; 
    return false; 
} 

あなたの配列の構造が変化しないと仮定します。

2
function check250($array) { 
    foreach ($array as $lvl1) 
     foreach($lvl1 as $num) 
      if ($num <= 250 && $num >= -250) return true; 
    return false; 
} 
関連する問題