2017-03-14 8 views
0

나는 csv로 읽고 다차원 배열에 넣습니다.음수 검사

항목 중 하나의 배열 값에 따라 읽은 행의 색상이 다릅니다. 이것은 임계 값보다 작은 양수 값에 대해서는 잘 작동하지만 음수 값에 대해서는이 경우를 만족시키지 못합니다. 따라서 아래의 cxy 값에 대해서는 -8, -30, -24가 인쇄되지만 색상은 조건에 따라 편집되지 않습니다 . 왜 그런가요?

$rows = array_map('str_getcsv', file($_GET['result_view'])); 
$header = array_shift($rows); 
$csv = array(); 
foreach($rows as $row) { 
    $csv[] = array_combine($header, $row); 
} 

foreach($csv as $row){ 

    if ($row["cxy"] < 10) { 
     print('<tr bgcolor="#ff0000">'); 
    } 
    else 
    { 
     echo "<tr>"; 
    } 

    foreach ($row as $cell) { 
     echo "<td>" . ($cell) . "</td>"; 
    } 
    echo "</tr>\n"; 
+0

내가 형이 경우 변환하지만 결과 – Umar

+0

에 변화를 사용하여 시도 @CBroe는 PHP는 할 수없는 경우에도 (btw 인) 숫자 문자열을''10 ''으로 평가하여 '0'으로 평가합니다. – roberto06

+1

'var_dump ($ row [ "cxy"])'와'var_dump ((int) $ row [ "cxy"])'는 문제가되는 값을 echo하는 것입니까? – roberto06

답변

0

캐스트intval 기능을 사용하여 $row["cxy"] 값은

if (intval($row["cxy"]) < 10) 
+0

대답이 아닌 댓글이 될 수 있습니다. – Deep

+0

시도한 intval 및 (int) 및 even (float) – Umar