PHPでは、文字列操作が非常に一般的であり、文字列で白人文字を削除することは、多くの開発者が対処する必要があるタスクの1つです。一般的に言えば、空白の文字にはスペース、タブ、ラインブレークなどが含まれます。この記事では、 array_filter関数と組み合わせてPHPのstr_split関数を使用して、文字列から白黒文字を効率的に削除する方法を示します。
str_split関数は、文字列を文字の配列に分割します。この関数の基本的な使用法は次のとおりです。
str_split(string $string, int $split_length = 1): array
$文字列:分割する文字列。
$ split_length :各配列要素の長さ、デフォルト1に1。
たとえば、String Hello Worldがあると仮定し、 str_splitを呼び出した後、結果は次のとおりです。
$string = "Hello World";
$array = str_split($string);
print_r($array);
出力結果:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => W
[7] => o
[8] => r
[9] => l
[10] => d
)
ご覧のとおり、スペース文字は別の要素として配列にも含まれています。
array_filter関数は、コールバック関数を介して配列内の要素をフィルタリングするために使用されます。基本的な使用法は次のとおりです。
array_filter(array $array, callable $callback, int $flag = 0): array
$配列:配列を入力します。
$ callback :配列内のすべての要素をテストするコールバック関数。コールバック関数がtrueを返すと、要素が保持されます。 Falseが戻ってきた場合、要素は削除されます。
$ flag :配列の処理方法を制御するために使用されるキー、デフォルトは0です。
たとえば、次のコードは、配列からすべてのnull値を削除する方法を示しています。
$array = ['a', '', 'b', null, 'c'];
$result = array_filter($array);
print_r($result);
出力結果:
Array
(
[0] => a
[2] => b
[4] => c
)
str_splitとarray_filterを組み合わせることで、すべてのWhitespace文字を文字列から簡単に削除できます。最初に、 str_splitを使用して文字列を文字列アレイに分割し、次にarray_filterを使用してすべてのWhitespace文字を削除します。
サンプルコードは次のとおりです。
<?php
$string = " H e l lo Wo r ld ";
// 使用 str_split 文字列を配列に分割します
$array = str_split($string);
// 使用 array_filter Whitespace文字を削除します
$result = array_filter($array, function($char) {
return !ctype_space($char); // 空白の文字を除外します
});
// 結果配列を文字列に再結合します
$filtered_string = implode('', $result);
echo $filtered_string; // 出力 "HelloWorld"
?>
この例では:
str_splitは文字列を単一の文字に分割します。
array_filterは、コールバック関数ctype_space()を使用して、各文字が空白文字(スペース、タブ、ラインブレークなど)であるかどうかを判断します。 CTYPE_SPACE()は、文字が空白文字であるかどうかを確認するためにPHPによって提供される関数です。
最後に、内省を使用して、ろ過された文字アレイを文字列に再結合して、Whitespace文字を削除した後に結果を取得します。
上記のコードを実行すると、出力は次のとおりです。
HelloWorld
str_splitとarray_filterを組み合わせることで、すべてのWhitespace文字を文字列から簡単に削除できます。この方法はシンプルで効率的で、特に文字列のキャラクターレベルの操作に適しています。この方法を使用すると、扱っている文字列に追加のスペース、ラインブレーク、またはタブがないことが保証されます。
うまくいけば、この記事がPHPでstr_splitとarray_filter関数を使用して、文字列の白人文字を処理する方法を理解するのに役立つことを願っています。
関連タグ:
array_filter