PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPでリスト(文字列)を配列として読み込んで保存する方法

スペース区切りのリスト(例:「10 20 30 40 50 60」)をPHPの配列として読み込み、保存したい場合は、forループを使って各要素を順番に取り出すだけで実現できます。

サンプルコード

以下は、リスト形式の文字列をループ処理で配列に格納し、ブラウザに出力するPHPの例です。

<!DOCTYPE html>
<html>
<body>
<?php
$list = "10 20 30 40 50 60";
$arr = [];

// スペース区切りの文字列をトークンごとに分割して配列へ格納
$counter = 0;
$current = "";
for ($i = 0; $i < strlen($list); $i++) {
    if ($list[$i] !== " ") {
        $current .= $list[$i];
    } elseif ($current !== "") {
        $arr[$counter++] = $current;
        $current = "";
    }
}
if ($current !== "") {
    $arr[$counter++] = $current;
}

foreach ($arr as $t) {
    echo $t . "<br>";
}
?>
</body>
</html>

出力結果

このコードを実行すると、次のように各要素が改行されて表示されます。

10
20
30
40
50
60

もっと簡単な方法:explode()関数を使う

実際の開発では、スペース区切りの文字列を配列に変換するだけであれば、組み込み関数のexplode()を使うのが最もシンプルで確実な方法です。

<?php
$list = "10 20 30 40 50 60";
$arr = explode(" ", $list);

foreach ($arr as $t) {
    echo $t . "<br>";
}
?>

このわずか数行で同じ結果が得られます。取得した要素を数値として扱いたい場合は、(int)$t のようにキャストすればOKです。

  1. PHPのarray()関数とは?配列の作成方法をわかりやすく解説

    PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に

  2. Pythonで配列リスト内の0と1を分離する方法

    リスト内包表記(List Comprehension)はPythonで広く使われている人気のテクニックです。ここでは、この手法を活用して配列内の0と1を分離してみましょう。 まず、ユーザーから入力を受け取って配列を作成します。配列の要素は0と1がランダムな順序で含まれているものとします。そして、0を配列の左側へ、1を右側へと分離させます。 具体的には、配列を走査しながら要素を2つの異なるリストに振り分けます。片方のリストには0だけを、もう片方のリストには1だけを格納し、最後にその2つのリストを連結することで目的の結果を得られます。 実行例 入力: a=[0,1,1,0,0,1] 出力: [0