PHPで配列内のすべての文字列をトリミング(空白除去)する方法
PHPで配列に含まれるすべての文字列から先頭・末尾の空白を取り除くには、array_map() 関数または array_walk() 関数を使用します。ここでは、それぞれの方法を具体的なコード例とともに解説します。
方法1:array_map() を使う
array_map() は、配列の各要素に指定したコールバック関数を適用し、その結果を新しい配列として返す関数です。トリミングには組み込み関数の trim をそのまま渡すだけで済むため、最もシンプルで推奨される方法です。
コード例
<?php
$arr = array(" John ", "Jacob ", " Tom ", " Tim ");
echo "Array with leading and trailing whitespaces...\n";
foreach ($arr as $value) {
echo "Value = $value \n";
}
$result = array_map('trim', $arr);
echo "\nUpdated Array...\n";
foreach ($result as $value) {
echo "Value = $value \n";
}
?>
出力結果
Array with leading and trailing whitespaces... Value = John Value = Jacob Value = Tom Value = Tim Updated Array... Value = John Value = Jacob Value = Tom Value = Tim
このように array_map('trim', $arr) の一行だけで、配列内のすべての文字列から余分な空白を取り除いた新しい配列を取得できます。元の配列は変更されません。
方法2:array_walk() を使う
array_walk() は、配列の各要素に対してコールバック関数を適用する関数です。参照渡し(&)を使うことで、元の配列自体を直接書き換えられる点が array_map() との大きな違いです。
コード例
<?php
$arr = array(" Kevin ", "Katie ", " Angelina ", " Jack ");
echo "Array with leading and trailing whitespaces...\n";
foreach ($arr as $value) {
echo "Value = $value \n";
}
array_walk($arr, create_function('&$val', '$val = trim($val);'));
echo "\nUpdated Array...\n";
foreach ($arr as $key => $value)
print($arr[$key] . "\n");
?>
出力結果
Array with leading and trailing whitespaces... Value = Kevin Value = Katie Value = Angelina Value = Jack Updated Array... Kevin Katie Angelina Jack
注意:create_function() は非推奨
上記の例で使用している create_function() は PHP 7.2 で非推奨となり、PHP 8.0 で削除されました。現在のPHP環境では、代わりに無名関数(クロージャ)を使うのが推奨されます。
array_walk($arr, function (&$val) {
$val = trim($val);
});
まとめ
配列内のすべての文字列をトリミングしたい場合は、簡潔で安全な array_map('trim', $arr) が最適な選択肢です。元の配列を直接変更したいケースでのみ array_walk() の利用を検討するとよいでしょう。
-
PHPで配列をSimpleXMLに変換する方法
PHPでは、array_walk_recursive() 関数を使うことで、配列を SimpleXML オブジェクト(XMLドキュメント)へ簡単に変換できます。array_walk_recursive() は PHP に標準で組み込まれている関数で、多次元配列のすべての要素を再帰的に処理できるのが特徴です。この関数を使った変換では、配列のキーがXMLの要素名(タグ)に、値がその要素の内容にそれぞれ対応します。 それでは、実際のコード例を見てみましょう。 コード例 <?php $array = array ( name => alex, emp
-
PHPでXMLファイルを配列に変換する方法を5ステップで解説
XMLドキュメントをPHPの配列に変換するには、いくつかのPHP標準関数を組み合わせて使用します。本記事では、実際のサンプルコードを交えながら、その手順をわかりやすく段階的に解説します。全体の流れ変換の基本的な流れは以下の通りです。XMLファイルを読み込む → 文字列をオブジェクトに変換 → JSON形式にエンコード → 配列にデコードステップ1:変換元のXMLファイルを用意するまず、配列へ変換したいXMLファイルを作成します。ここでは例として「abc.xml」というファイルを使用します。abc.xml <?xml version=1.0?> <userdb>