PHP Array String

String 配列の説明です。
変数や配列に int, float, string, char のような区別はありません。

プログラムの作成-1

String 配列($arr1, $arr2)に文字列を代入します。
Array_String1.php のソースコードを utf-8(BOM 無し)でタイプして c:\DATA\PHP\ に格納して下さい。
$str の値を 'XYZ' として、$arr1[4] にはシングル引用符で '$str' を、$arr2[] にはダブル引用符で "$str" を格納します。
<?php
    $str= 'XYZ';
    $arr1[0]= 'yellow';
    $arr1[1]= 'white';
    $arr1[2]= 'brown';
    $arr1[3]= 'gold';
    $arr1[4]= '$str';
    print_r($arr1);

    $arr2[]= "ばなな";
    $arr2[]= "いちご";
    $arr2[]= "ぶどう";
    $arr2[]= "りんご";
    $arr2[]= "みかん";
    $arr2[]= "$str";
    print_r($arr2);
?>

【実行画面】
コマンドプロンプトを起動してコンパイルします。
Microsoft Windows [Version 10.0.18363.836]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\maeda>cd c:\data\php

c:\DATA\PHP>php Array_String1.php
Array
(
    [0] => yellow
    [1] => white
    [2] => brown
    [3] => gold
    [4] => $str
)
Array
(
    [0] => ばなな
    [1] => いちご
    [2] => ぶどう
    [3] => りんご
    [4] => みかん
    [5] => XYZ
)

プログラムの説明

  1. 配列 $arr1 を添え字で参照して「色」を格納します。
    ' ' で囲むと括弧の中が評価されないで、そのままの文字列になります。
    print_r($arr1); で印字すると [4] => '$str' になります。
  2. 配列 $arr2 に添え字を付けずに「果物」を格納します。
    ” ”で囲むと括弧の中が評価されて $str の文字列に置き換わります。
    print_r($arr2); で印字すると [5] => XYZ になります。

プログラムの作成-2

String 配列に初期値を設定します。
Array_String2.php のソースコードを utf-8(BOM 無し)でタイプして c:\DATA\PHP\ に格納して下さい。
<?php
    $ar = array(  "ばなな,好き,果物,安い,,輸入",
                  "いちご,国産,,好き,野菜,",
                  "ぶどう,好き,国産,,果物,高い",
                  "りんご,果物,,嫌い,安い,国産",
                  "みかん,,好き,安い,国産,果物" );
    for($i=0; $i<count($ar); $i++)
    {   print "$ar[$i]". "\r\n";
    }
?>

【実行画面】
コマンドプロンプトを起動してコンパイルします。
C:\DATA\PHP>php Array_String2.php
ばなな,好き,果物,安い,,輸入
いちご,国産,,好き,野菜,
ぶどう,好き,国産,,果物,高い
りんご,果物,,嫌い,安い,国産
みかん,,好き,安い,国産,果物

プログラムの説明

  1. 配列 $ar に果物の名前とその属性を設定して格納します。
        $ar = array(  "ばなな,好き,果物,安い,,輸入",
                      "いちご,国産,,好き,野菜,",
                      "ぶどう,好き,国産,,果物,高い",
                      "りんご,果物,,嫌い,安い,国産",
                      "みかん,,好き,安い,国産,果物" );
    
  2. 配列を添え字で参照して印字します。
    count($ar); は配列のサイズです。
        for($i=0; $i<count($ar); $i++)
        {   print "$ar[$i]". "\r\n";
        }
    

プログラムの作成-3

Array_String3.php のソースコードを utf-8(BOM 無し)でタイプして c:\DATA\PHP\ に格納して下さい。
<?php
    $ar = array(  "ばなな,好き,果物,安い,,輸入",
                  "いちご,国産,,好き,野菜,",
                  "ぶどう,好き,国産,,果物,高い",
                  "りんご,果物,,嫌い,安い,国産",
                  "みかん,,好き,安い,国産,果物" );
    for($i=0; $i<count($ar); $i++)
    {   $aw = explode(",", $ar[$i]);
        print "$i 番目の配列\n";
        print_r($aw);
    }
?>

【実行画面】
コマンドプロンプトを起動してコンパイルします。
$ar に格納されている各文字列が「,」で切り分けられて配列に展開しています。
C:\DATA\PHP>php Array_String3.php
0 番目の配列
Array
(
    [0] => ばなな
    [1] => 好き
    [2] => 果物
    [3] => 安い
    [4] =>
    [5] => 輸入
)
1 番目の配列
Array
(
    [0] => いちご
    [1] => 国産
    [2] =>
    [3] => 好き
    [4] => 野菜
    [5] =>
)
2 番目の配列
Array
(
    [0] => ぶどう
    [1] => 好き
    [2] => 国産
    [3] =>
    [4] => 果物
    [5] => 高い
)
3 番目の配列
Array
(
    [0] => りんご
    [1] => 果物
    [2] =>
    [3] => 嫌い
    [4] => 安い
    [5] => 国産
)
4 番目の配列
Array
(
    [0] => みかん
    [1] =>
    [2] => 好き
    [3] => 安い
    [4] => 国産
    [5] => 果物
)

プログラムの説明

  1. $ar[$i] の文字列を $aw = explode(",", $ar[$i]); でカンマで切り分けて配列 $aw に格納します。
    print_r($aw) で作成された String 配列を印字します。
    配列を文字列に変換する関数は $str= implode(',', $ary) です。
        for($i=0; $i<count($ar); $i++)
        {   $aw = explode(",", $ar[$i]);
            print "$i 番目の配列\n";
            print_r($aw);
        }
    

プログラムの作成-4

Array_String4.php のソースコードを utf-8(BOM 無し)でタイプして c:\DATA\PHP\ に格納して下さい。
<?php
$str = "5,13,4,9,21";
$ary = explode(',', $str);
echo "sum = " . array_sum($ary) . "\n";
var_dump($ary);
?>

【実行画面】
コマンドプロンプトを起動してコンパイルします。
C:\DATA\PHP>php Array_String4.php
sum = 52
array(5) {
  [0]=>
  string(1) "5"
  [1]=>
  string(2) "13"
  [2]=>
  string(1) "4"
  [3]=>
  string(1) "9"
  [4]=>
  string(2) "21"
}

プログラムの説明

  1. $str に格納されている文字列(数字)が「,」で切り分けられて配列 $ary に展開します。
    $str = "5,13,4,9,21";
    $ary = explode(',', $str);
    
  2. array_sum($ary) で合計を求めて印字します。
    (5 + 13 + 4 + 9 + 21 = 52)
  3. var_dump($ary); で $ary を確認します。
    (print_r($ary); とは印字の形式が異なる)
    var_dump(); はスカラ変数(普通の変数)や連想配列にも使うことが出来ます。

前田稔の超初心者のプログラム入門
PHP Program