mugyu
8/24/2014 - 6:33 PM

php: array_compact()

php: array_compact()

<?
$arr = array(
	"1",
	NULL,
	"2",
	"",
	"3"
);

//  空文字あるいは文字列にキャストすると
//  空文字になりそうなもの(true や false も)を除外した配列を返す
# function array_compact(Array $array) {
#   return array_values(array_filter($array, 'strlen'));
# }

//  empty() で空判定されるもの(0 や 空配列も)を除外した配列を返す
function array_compact(Array $array) {
  return array_values(array_filter($array, function($entry) {
    return ! empty($entry);
  }));
}


var_dump(array_compact($arr));
# array(3) {
#   [0]=>
#   string(1) "1"
#   [1]=>
#   string(1) "2"
#   [2]=>
#   string(1) "3"
# }