I have a query that may not always return a result for a value, I need to reflect this with a "0". I am trying to overcome this by doing this (the keys are ID's): while ($row = mysql_fetch_row($statusQuery)) { $cat = array(0=>0,1=>0,11=>0,12=>0,13=>0,14=>0,15=>0,16=>0,17=>0,19=>0); switch ($row[1]) { case 0: $cat[0] = $row[0]; break; case 1: $cat[1] = $row[0]; break; case 11: $cat[11] = $row[0]; break; case 12: $cat[12] = $row[0]; break; case 13: $cat[13] = $row[0]; break; case 14: $cat[14] = $row[0]; break; case 15: $cat[15] = $row[0]; break; case 16: $cat[16] = $row[0]; break; case 17: $cat[17] = $row[0]; break; case 19: $cat[19] = $row[0]; break; } print_r($cat); } Which gives me this: Array ( [0] => 15547 [1] => 0 [11] => 0 [12] => 0 [13] => 0 [14] => 0 [15] => 0 [16] => 0 [17] => 0 [19] => 0 ) Array ( [0] => 0 [1] => 0 [11] => 0 [12] => 0 [13] => 0 [14] => 0 [15] => 30 [16] => 0 [17] => 0 [19] => 0 ) The query only return 2 rows: 15 | 30 0 | 15547 What am I doing wrong? Is there a more elegant way to achieve what I want? Thanks. -- Paul Halliday Ideation | Individualization | Learner | Achiever | Analytical http://www.pintumbler.org -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php