DESIGNMAP

関数に配列を渡してリスト表示 - WordPressのためのPHP入門

記事公開日:2016年09月07日

WordPressのためのPHP入門

配列と関数を連携した例をご紹介します。関数の引数に配列を渡すパターンです。WordPressのテンプレート制作でもでてくるパターンです。

今回学ぶ内容

  • 関数に配列を渡して、配列の中身をリスト表示してみよう
  • キーを明示した配列を関数に渡して、見出し付きのリストを表示してみよう

関数の引数に配列を渡して、配列の中身をリスト表示してみよう

  1. XAMPPのApacheを起動します。
  2. 「xampp」フォルダ内の「htdocs」フォルダ内の「php_for_wordpress」フォルダの中に「vol4」というフォルダを新規につくります。
  3. Bracketsを起動します。Bracketsで、[ファイル]メニュー→[新規作成]をクリックします。[ファイル]メニュー→[保存]をクリックします。「vol4」フォルダ内に、「sample.php」というファイル名で保存します。
  4. 「sample.php」を以下のようにコードを記述します。保存します。
    <?php
    $fruits = array('バナナ', 'りんご', 'みかん', 'メロン', 'いちご');
    
    function display_list ($array) {
        
        $list = '<ul>';
        foreach ($array as $v) {
            $list .= '<li>'. $v .'</li>';
        }
        $list .= '</ul>';
        
        return $list;
    }
    ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>関数の引数に配列を渡す - WordPressのためのPHP入門</title>
    </head>
    <body>
    <ul>
    <?php
        echo display_list($fruits);
    ?>
    </ul>
    </body>
    </html>
  5. Google Chromeを起動して、アドレスバーに「http://localhost/php_for_wordpress/vol4/sample.php」と入力してEnterキーを押します。下図のように配列の値がリスト表示されれば成功です。
  6. 「sample4.php」を以下のようにコードを修正します。保存します。
    <?php
    $fruits = array('バナナ', 'りんご', 'みかん', 'メロン', 'いちご', 'もも', 'パイナップル');
  7. Google Chromeのアドレスバーをクリックして、Enterキーを押します。sample.phpが再読み込みされます。下図のようにリスト項目が増えて表示されれば成功です。

コードの解説

関数に配列を渡すと、多くの引数を一つの変数にくるんで渡せるので便利です。array('バナナ', 'りんご', 'みかん', 'メロン', 'いちご', 'もも', 'パイナップル')のように配列の値が増えても関数の定義を変更する必要がありません。もし

function display_list ($item1, $item2, $item3, $item4) {

のように関数が定義してあると、個数が限定されてしまいます。

=.は、文字列演算子のひとつで結合代入演算子と呼ばれます。変数に追加する形で文字列を代入できます。=だけですと、上書きで代入してしまうので、古い文字列は消えてしまいます。

キーを明示した配列を関数に渡して、見出し付きのリストを表示してみよう

前回学んだキーを明示した配列を関数に渡すことも可能です。これはWordPressのテンプレート制作ででてくるパターンです。

  1. Bracketsで、[ファイル]メニュー→[新規作成]をクリックします。[ファイル]メニュー→[保存]をクリックします。「vol4」フィルダ内に、「sample2.php」というファイル名で保存します。
  2. 「sample2.php」を以下のようにコードを記述します。保存します。
    <?php
    $todo_area = array(
        'header' => '今日のメニュー',
        'todo' => array ('ジョギングをする', '切手を買う', 'ホテルの予約をする', 'お菓子を買う')
    );
    
    function display_list ($array) {
        
        $list = '<h2>' . $array['header'] . '</h2>';
        
        $list .= '<ul>';
        foreach ($array['todo'] as $v) {
            $list .= '<li>'. $v .'</li>';
        }
        $list .= '</ul>';
        
        return $list;
    }
    ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>関数の引数に配列を渡す - WordPressのためのPHP入門</title>
    </head>
    <body>
    <ul>
    <?php
        echo display_list($todo_area);
    ?>
    </ul>
    </body>
    </html>
  3. Google Chromeのアドレスバーに「http://localhost/php_for_wordpress/vol4/sample2.php」と入力してEnterキーを押します。下図のように表示されれば成功です。

コードの解説

キーを明示した配列は辞書、マップ、連想配列、ハッシュともいわれます。これを関数に渡すパターンはよくでてきます。マップで渡すことによって、呼び出す側は引数の順番を気にする必要がなくなります

$array['header']のように$変数名['キー名']で配列の値を取得できます。$array['todo']の値は、array ('ジョギングをする', '切手を買う', 'ホテルの予約をする', 'お菓子を買う') );という内側の配列です。この配列をforeachでループ処理で<li>要素の内容にいれています。

今回はここまでです。

↑このページの上に戻る