2014-09-05 2 views
-2

저는 PHP를 처음 사용하고 클래스를 사용하기 때문에 배열에서 짝수 만 반환하도록 지정했습니다. php.net 웹 사이트에서 modulo가이 작업을 수행해야하지만 아무 것도 반환하지 않는 것 같습니다. 이 코드의 문제점은 무엇입니까?PHP 모듈로 foreach 조건을 배열의 짝수로만 표시합니다.

<?php 
     // colors Array 
     $colors = array(
      0 => "Red", 
      1 => "Pink", 
      2 => "Blue", 
      3 => "Baby Blue", 
      4 => "Green", 
      5 => "Lime", 
      6 => "Black", 
      7 => "Grey", 
      8 => "Purple", 
      9 => "Violet" 
     ); 

     // Repeat Part 1 above, but only display the solid colors 
     krsort($colors); 
     // For Each item in array, Loop through the colors of the array and display the index number and color name. 
     foreach($colors as $key => $color){ 
      if($key % == 2) 
       echo "<p class='sub-heading'>Color: {$key}: is {$color}</p>"; 

     } // end forEach loop 
     ?> 
+1

시도 '$ 키 % 2 == 0' . – bzeaman

+0

고마워요, 그 속임수를했습니다 – jmccommas

+0

나누기 후에 남은 부분은 모듈로를 기억하십시오. 0은 짝수가 될 것입니다. 1은 이상 할 것입니다. – Alex

답변

1

원하는 결과를 얻기 위해 나머지 연산자를 사용하는 올바른 방법 : $key % 2 === 0

그래서, 루프 (A)의 예 :

foreach($array as $key => $value){ 
    if($value % 2 === 0) { 
     // ... 
    } 
}