ホームページ > バックエンド開発 > PHPの問題 > PHPで文字列を配列に変換する方法

PHPで文字列を配列に変換する方法

PHPz
リリース: 2023-04-12 09:07:58
オリジナル
1420 人が閲覧しました

PHP では、特にデータベースやファイルから取得したデータを解析する場合、文字列を配列に変換するのが一般的な操作です。以下では、この一般的なスキルをより深く理解し習得できるように、文字列を配列に変換するいくつかの方法を紹介します。

1.explode 関数を使用する

PHP には explode() という組み込み関数があり、文字列を配列に分割するために使用できます。この関数は、区切り文字と分割する文字列の 2 つのパラメータを受け取ります。 explode() 関数の構文は次のとおりです。

array explode(string $delimiter , string $string [, int $limit ] )
ログイン後にコピー

このうち、$delimiter パラメータは、データを分割するために使用する文字または文字列です。文字列; $string は配列に分割する必要がある文字列です。このパラメータは文字列である必要があります。$limit (オプション) 返される要素数の上限を指定します。 $limit パラメータを省略した場合、分割された配列要素の数は無制限になります。

次に、次の例を使用して、explode() 関数を使用して文字列を配列に分割する方法を示します。

$str = "apple,banana,orange,grape";
$arr = explode(",", $str);
print_r($arr);
ログイン後にコピー

出力結果:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)
ログイン後にコピー
ログイン後にコピー

2. preg_split 関数を使用する

preg_split() 関数は explode() 関数に似ており、どちらも文字列を配列に分割できます。 。 preg_split() この関数は正規表現を区切り文字として受け入れることができます。たとえば、\s を使用して文字列内の任意の数のスペースまたはタブと一致させることができ、これは処理時に非常に便利ですファイル。実用的です。

array preg_split(string $pattern, string $string [, int $limit [, int $flags]])
ログイン後にコピー

このうち、$patternはオプションの正規表現、$limitは配列要素数の上限、$flags##です。 # 関数の動作を制御する追加のビットマスクが含まれていますが、無視できます。 $limit パラメータが設定されていない場合、関数はすべての分割文字列を返します。

次に、次の例を使用して、

preg_split() 関数を使用して文字列を配列に分割する方法を示します。

$str = "apple,banana | orange grape";
$arr = preg_split("/[\s,|]+/", $str);
print_r($arr);
ログイン後にコピー
出力結果:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)
ログイン後にコピー
ログイン後にコピー
3. str_split 関数を使用する

str_split()この関数は、文字列を文字配列に分割できます。メソッド パラメータ length は、各要素の文字数を指定します。length が渡されない場合、または 1 として渡された場合、存在するのは 1 文字だけです。 str_split() 関数の構文は次のとおりです。

array str_split(string $string [, int $length = 1 ])
ログイン後にコピー
このうち、

$string は分割する文字列、$length# です。 ## はそれぞれの文字配列要素の長さです。 次に、例を使用して、

str_split()

関数を使用して文字列を配列に分割する方法を示します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$str = &quot;hello world&quot;; $arr = str_split($str); print_r($arr);</pre><div class="contentsignin">ログイン後にコピー</div></div>出力結果:

Array
(
    [0] => h
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => w
    [7] => o
    [8] => r
    [9] => l
    [10] => d
)
ログイン後にコピー

4. str_split 関数と mb_substr 関数を使用します。

文字列に中国語、日本語、韓国語などの英語以外の文字が含まれている場合、

str_split()

関数は英語以外の文字は複数バイトを占める可能性があるため、失敗します。この場合、str_split() 関数の代わりに mb_substr() 関数を使用できます。mb_substr() 関数はマルチバイト セーフ関数です。 mb_substr() 関数を使用するには、まず PHP でマルチバイト文字列関数を有効にする必要があります。次に、例を使用して、

mb_substr()

関数を使用して文字列を文字配列に分割する方法を示します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">// 先开启multi-byte字符串扩展 mb_internal_encoding(&quot;UTF-8&quot;); mb_regex_encoding(&quot;UTF-8&quot;); $str = &quot;你好,世界!&quot;; $arr = []; for ($i = 0; $i &lt; mb_strlen($str); $i++) { $arr[] = mb_substr($str, $i, 1); } print_r($arr);</pre><div class="contentsignin">ログイン後にコピー</div></div>出力結果:

Array
(
    [0] => 你
    [1] => 好
    [2] => ,
    [3] => 世
    [4] => 界
    [5] => !
)
ログイン後にコピー

結論

この記事では、PHP で文字列を配列に変換する 4 つの方法を紹介します。

explode()

関数、preg_split() 関数、str_split() 関数、または mb_substr() のいずれを使用するかこれらの関数は、文字列からデータを抽出して配列に変換する必要がある場合に役立ちます。

以上がPHPで文字列を配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート