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

PHPで文字列を配列に変換できますか?

青灯夜游
青灯夜游オリジナル
2022-07-26 15:25:478989ブラウズ

php 文字列は配列に変換できます。 5つの変換方法: 1.「str_split(文字列,要素長)」で文字列を配列に変換; 2.「explode(区切り文字,文字列)」で文字列を配列に変換; 3.「preg_split」を使用( 'match pattern', string, -1, $flags)" を変換します。 4. "settype (string, "array")" を使用して変換します。 5. 文字列変数のターゲット タイプ "(array)" の前に括弧を追加します。

PHPで文字列を配列に変換できますか?

このチュートリアルの動作環境: Windows7 システム、PHP8.1 バージョン、DELL G3 コンピューター

php 内の文字列は、配列に変換されます。 php では、文字列を配列に変換する方法がたくさんあります。

方法 1: str_split() 関数を使用する

str_split() 関数は、文字列を配列に分割します。つまり、文字列を文字配列に変換します。

str_split(string,length)

パラメータの説明は次のとおりです:

  • 文字列 必須。分割する文字列を指定します。

  • #長さ オプション。配列の各要素の長さを指定します。デフォルトは 1 です。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello&#39;;
echo "原字符串:";
var_dump($str);
echo "将字符串转为数组:";
$arr1=str_split($str);
var_dump($arr1);
$arr2=str_split($str,2);
var_dump($arr2);
?>

PHPで文字列を配列に変換できますか?

方法 2:explode() 関数を使用する

explode() 関数をベースにすることができます文字列の場合 区切り文字は文字列を分割します。つまり、区切り文字に基づいて文字列を複数の部分文字列に分割し、これらの部分文字列を配列に結合して返します。

explode($delimiter, $string [, $limit])

パラメータの説明は次のとおりです:

  • $delimiter: 文字列の分割に使用される区切り文字;
  • $string: 分割する必要がある文字列;
  • $limit: オプションのパラメータ。空にすることもできます。返される配列要素の数を指定します。
    • $limit が空ではなく正の数の場合、返される配列には最大でも $limit 要素が含まれ、最後の要素には $string の残りが含まれます。 $limit が空ではなく、負の場合、最後の $limit 要素を除くすべての要素が返されます;
    • $limit が 0 の場合、1 として扱われます;
    • $limit が空の場合、すべての配列要素が返されます。
  • 例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hypertext language programming&#39;;
echo "原字符串:";
var_dump($str);
echo "将字符串转为数组(分割符为空格):";
$arr=explode(" ",$str);
var_dump($arr);
?>

PHPで文字列を配列に変換できますか?

方法 3. preg_split() 関数を使用します。 - 文字列を配列に変換します。

preg_split() 関数は、正規表現を使用して文字列を分割します。

preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

パラメータの説明は次のとおりです:

$pattern: マッチングに使用されるパターン、つまり正規表現。
  • $subject 分割する文字列。
  • $limit: オプションのパラメーター。指定した場合、分離を制限することによって取得される部分文字列は最大でも limit に制限され、最後の部分文字列には残りのすべての部分が含まれます。制限値が -1、0、NULL の場合は「制限なし」を意味しますので、NULL を使用することをお勧めします。
  • $flags: 3 つの値を持つオプションのパラメーター。
  • PREG_SPLIT_NO_EMPTY に設定すると、preg_split() は分離された空でない部分を返します。
    • PREG_SPLIT_DELIM_CAPTURE に設定すると、区切られたパターン内の括弧式がキャプチャされて返されます。
    • PREG_SPLIT_OFFSET_CAPTURE に設定すると、一致が発生するたびに文字列オフセットが戻り値に追加されます。
    • 注: これにより、返された配列の各要素が変更され、各要素は、分離された部分文字列である 0 番目の要素と、サブジェクト内の部分文字列のオフセットである最初の要素で構成される配列になります。

  • 戻り値: $pattern を使用して対象の文字列を分割した後に取得された部分文字列で構成される配列を返します。

例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;1 2 3 4,5 6-7 8=9&#39;;
var_dump($str);
$arr=preg_split(&#39;/ /&#39;, $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
var_dump($arr);
?>

PHPで文字列を配列に変換できますか?

方法 4: settype() 関数を使用する

settype() 関数変数の型を設定し、文字列変数の型を配列に変換できます。

settype($var,$type)

パラメータの説明は次のとおりです:

    $var: 変換される変数。
  • $type: 必須のデータ型。
  • $type を ""array"" に設定して、変数 $var を配列型に設定するだけです。

注: settype() 関数は元の変数を変更し、設定が成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello world!&#39;;
echo "原字符串:";
var_dump($str);
echo "将字符串转为数组类型:";
$arr=settype($str,"array");
var_dump($str);
var_dump($arr);
?>

PHPで文字列を配列に変換できますか?

方法 5: ターゲットの型「(配列)」を括弧で囲んで文字列変数

の前に追加します。
    (配列): 指定された変数を配列型に強制します;
<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;hello world!&#39;;
echo "原字符串:";
var_dump($str);
echo "将字符串转为数组类型:";
$arr=(array)$str;
var_dump($arr);
?>

PHPで文字列を配列に変換できますか?

推荐学习:《PHP视频教程

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

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