Rubyは空配列もオブジェクト。だからif文はtrue。

オブジェクト指向言語なのだから当然っちゃ当然。ただPHPerには慣れていないところ。

Ruby

a = Array.new
if a
 puts "true"
else
 puts "nil"
end
# >> true

PHP

<?php
$a = array();
if ($a) {
 echo "true";
} else {
 echo "false";
}
// >> false