create_functionを使ってみやがれ

PHPでもこういうコードはかけるんだよという一つの例

<?php
// rubyのArray#compactみたいなもの                                              
                                                                                
$ary = array(NULL, 3, 0, 'hoge');
$result = array_filter($ary, create_function('$n', 'return $n;'));
var_dump($result);
/*
array(2) {
  [1]=>
  int(3)
  [3]=>
  string(4) "hoge"
}
*/

// 0まで消えてしまうのが気にくわない人はis_nullをつかえ

$result = array_filter($ary, create_function('$n', 'return !is_null($n);'));
var_dump($result);
/*
array(3) {
  [1]=>
  int(3)
  [2]=>
  int(0)
  [3]=>
  string(4) "hoge"
}
*/