ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列から空の要素を効果的に削除するにはどうすればよいですか?

PHP 配列から空の要素を効果的に削除するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-29 01:11:11599ブラウズ

How to Effectively Remove Empty Elements from a PHP Array?

空の配列要素を削除する方法

$linksArray 配列から空の要素を削除するコードが意図したとおりに機能しません。これは、unset($link) は配列から要素自体ではなく、変数 $link への参照のみを削除するためです。

empty() 関数も、変数が空かどうかをチェックするため機能しません。

配列から空の要素を削除するには、array_filter() 関数を使用できます。 array_filter() は、配列とコールバック関数を引数として受け取ります。コールバック関数は配列の各要素に適用され、コールバック関数が false を返した場合、その要素は配列から削除されます。

あなたの場合、次のコードを使用して $linksArray から空の要素を削除できます。 :

$linksArray = array_filter($linksArray);

ただし、正確な文字列 '0' の要素を保持する必要がある場合は、カスタムのcallback:

// PHP 7.4 and later
print_r(array_filter($linksArray, fn($value) => !is_null($value) && $value !== ''));

// PHP 5.3 and later
print_r(array_filter($linksArray, function($value) { return !is_null($value) && $value !== ''; }));

// PHP < 5.3
print_r(array_filter($linksArray, create_function('$value', 'return $value !== "";')));

注: 空の要素を削除した後に配列のインデックスを再作成する必要がある場合は、次を使用します:

$linksArray = array_values(array_filter($linksArray));

以上がPHP 配列から空の要素を効果的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。