ラボ > PHP:配列関連

PHP 配列で空データ or 任意のデータの削除(array_filter())

配列の空データを削除したい or 特定の文字列の場合、削除したい等。

作成日:2018-09-16, 更新日:2018-09-16

基本

$result = array_filter($ary, 条件);

「条件」ってのがコールバックになり、結果が「false」なら削除っていう感じになる。

詳細

▼基本、こんな感じ。

$result = array_filter($ary, function($data) {
  if ( $data == 〇〇〇 ) {
    return false;
  }
  else {
    return true;
  }
});

▼コールバックを表に出す

function procCallBack( $data ) {
  if ( $data == 〇〇〇 ) {
    return false;
  }
  else {
    return true;
  }
}

$result = array_filter($ary, 'procCallBack');

空文字だけ消したい

▼PHPの「strlen()」だと「空文字」が「0文字」となり「false」扱いになる。

$result = array_filter($ary, 'strlen');