PHP Array String

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

プログラムの作成-1

String 配列($arr1, $arr2)に文字列を代入します。
Array_String0.php のソースコードを Shift-JIS でタイプして c:\DATA\PHP\ に格納して下さい。
<?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);
?>

【実行画面】
コマンドプロンプトを起動してコンパイルします。
C:\DATA\PHP>php Array_string0.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); で印字します。
        $str= 'XYZ';
        $arr1[0]= 'yellow';
        $arr1[1]= 'white';
        $arr1[2]= 'brown';
        $arr1[3]= 'gold';
        $arr1[4]= '$str';
        print_r($arr1);
    
  2. 配列 $arr2 に添え字を付けずに「果物」を格納します。
    ” ”で囲むと括弧の中が評価されて $str の文字列に置き換わります。
    print_r($arr2); で印字します。
    "$str" が "XYZ" に変わっていることに注目して下さい。
        $arr2[]= "ばなな";
        $arr2[]= "いちご";
        $arr2[]= "ぶどう";
        $arr2[]= "りんご";
        $arr2[]= "みかん";
        $arr2[]= "$str";
        print_r($arr2);
    

プログラムの作成-2

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

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

プログラムの説明

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

プログラムの作成-3

Array_String2.php のソースコードを Shift-JIS でタイプして 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_String2.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 配列を印字します。
        for($i=0; $i<count($ar); $i++)
        {   $aw = explode(",", $ar[$i]);
            print "$i 番目の配列\n";
            print_r($aw);
        }
    

プログラムの作成-4

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

【実行画面】
コマンドプロンプトを起動してコンパイルします。
C:\Windows\System32>cd \data\php

C:\DATA\PHP>php Array_String3.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"
}

C:\DATA\PHP>

プログラムの説明

  1. $str に格納されている文字列(数字)が「,」で切り分けられて配列 $ary に展開します。
    $str = "5,13,4,9,21";
    $ary = explode(',', $str);
    
  2. array_sum($ary) で合計を求めて印字します。
  3. var_dump($ary); で $ary を確認します。

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