【PHP】これで分かる関数! – 配列その2 –

PHP

更新履歴

更新日更新者更新内容
2021/8/13JJI・”はじめに”の段落の内容を修正
2021/8/20JJI・サンプルプログラムの実行結果に画面の画像を追加

はじめに

配列を表示するため、次の共通関数を使用している場合があります。

array_intersect

array_intersect()関数のサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // ライブラリの読み込み
    require_once "lib/sample_lib_02_03.php";

    echo "ファイル名:sample02_03_36.php<br>\n";
    echo "【PHP】配列関数:array_intersect<br>\n";

    $ary1 = [
        "1001", "山田", "太郎", 35, "男性"
    ];                                      // 配列

    $ary2 = [
        "2052", "山田", "次郎", 30, "男性"
    ];                                      // 配列

    $ary3 = [
        "id" => "1001", "first_name" => "山田", "second_name" => "太郎", "age" => 35, "seibetsu" => "男性"
    ];                                      // 連想配列

    echo '$ary1とary2の共通' . "<br>\n";
    $result = array_intersect($ary1, $ary2);
    echo_array1($result);

    echo '$ary3とary2の共通' . "<br>\n";
    $result = array_intersect($ary3, $ary2);
    echo_array1($result);
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_03_36.php<br>
【PHP】配列関数:array_intersect<br>
$ary1とary2の共通<br>
[1]:山田: [4]:男性:<br><br>
$ary3とary2の共通<br>
[first_name]:山田: [seibetsu]:男性:<br><br>

array_key_exists

array_key_exists()関数のサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // ライブラリの読み込み
    require_once "lib/sample_lib_02_03.php";

    echo "ファイル名:sample02_03_37.php<br>\n";
    echo "【PHP】配列関数:array_key_exists<br>\n";

    $ary1 = [
        "1001", "山田", "太郎", 35, "男性"
    ];                                      // 配列

    $ary2 = [
        "id" => "1001", "first_name" => "山田", "second_name" => "太郎", "age" => 35, "seibetsu" => "男性"
    ];                                      // 連想配列

    echo '配列:$ary1' . "<br>\n";
    echo_array1($ary1);

    echo '連想配列:$ary2' . "<br>\n";
    echo_array1($ary2);

    echo '配列:$ary1[2]の存在チェック' . "<br>\n";
    echo_exist_array_key(2, $ary1);

    echo '配列:$ary1[5]の存在チェック' . "<br>\n";
    echo_exist_array_key(5, $ary1);

    echo '配列:$ary2["first_name"]の存在チェック' . "<br>\n";
    echo_exist_array_key("first_name", $ary2);

    echo '配列:$ary2["tel"]の存在チェック' . "<br>\n";
    echo_exist_array_key("tel", $ary2);

    // 配列存在チェック
    function echo_exist_array_key($key, array $ary) :void {
        if(array_key_exists($key, $ary)) {
            echo "[$key]:" . $ary[$key] . ":は存在します<br><br>\n";
            return ;
        }

        echo "[$key]は存在しません<br><br>\n";
    }
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_03_37.php<br>
【PHP】配列関数:array_key_exists<br>
配列:$ary1<br>
[0]:1001: [1]:山田: [2]:太郎: [3]:35: [4]:男性:<br><br>
連想配列:$ary2<br>
[id]:1001: [first_name]:山田: [second_name]:太郎: [age]:35: [seibetsu]:男性:<br><br>
配列:$ary1[2]の存在チェック<br>
[2]:太郎:は存在します<br><br>
配列:$ary1[5]の存在チェック<br>
[5]は存在しません<br><br>
配列:$ary2["first_name"]の存在チェック<br>
[first_name]:山田:は存在します<br><br>
配列:$ary2["tel"]の存在チェック<br>
[tel]は存在しません<br><br>

array_keys

array_keys()関数のサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // ライブラリの読み込み
    require_once "lib/sample_lib_02_03.php";

    echo "ファイル名:sample02_03_38.php<br>\n";
    echo "【PHP】配列関数:array_keys<br>\n";

    $ary1 = [
        "1001", "山田", "太郎", 35, "男性", "山田"
    ];                                      // 配列

    $ary2 = [
        "id" => "1001", "first_name" => "山田", "second_name" => "太郎", "age" => 35, "seibetsu" => "男性"
    ];                                      // 連想配列

    echo '配列:array_keys($ary1)' . "<br>\n";
    $result = array_keys($ary1);
    echo_array1($result);

    echo '配列:array_keys($ary1, "山田")' . "<br>\n";
    $result = array_keys($ary1, "山田");
    echo_array1($result);

    echo '配列:array_keys($ary2)' . "<br>\n";
    $result = array_keys($ary2);
    echo_array1($result);

    echo '配列:array_keys($ary2, "太郎")' . "<br>\n";
    $result = array_keys($ary2, "太郎");
    echo_array1($result);
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_03_38.php<br>
【PHP】配列関数:array_keys<br>
配列:array_keys($ary1)<br>
[0]:0: [1]:1: [2]:2: [3]:3: [4]:4: [5]:5:<br><br>
配列:array_keys($ary1, "山田")<br>
[0]:1: [1]:5:<br><br>
配列:array_keys($ary2)<br>
[0]:id: [1]:first_name: [2]:second_name: [3]:age: [4]:seibetsu:<br><br>
配列:array_keys($ary2, "太郎")<br>
[0]:second_name:<br><br>

array_pad

array_pad()関数のサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // ライブラリの読み込み
    require_once "lib/sample_lib_02_03.php";

    echo "ファイル名:sample02_03_39.php<br>\n";
    echo "【PHP】配列関数:array_pad<br>\n";

    $ary1 = [
        "1001", "山田", "太郎", 35, "男性"
    ];                                      // 配列

    $ary2 = [
        "id" => "1001", "first_name" => "山田", "second_name" => "太郎", "age" => 35, "seibetsu" => "男性"
    ];                                      // 連想配列

    echo '配列:array_pad($ary1, 8, "鈴木")' . "<br>\n";
    $result = array_pad($ary1, 8, "鈴木");      // プラスの場合、右側に配列を埋める
    echo_array1($result);

    echo '配列:array_pad($ary2, -8, "鈴木")' . "<br>\n";
    $result = array_pad($ary2, -8, "鈴木");     // マイナスの場合、左側から配列を埋める
    echo_array1($result);
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_03_39.php<br>
【PHP】配列関数:array_pad<br>
配列:array_pad($ary1, 8, "鈴木")<br>
[0]:1001: [1]:山田: [2]:太郎: [3]:35: [4]:男性: [5]:鈴木: [6]:鈴木: [7]:鈴木:<br><br>
配列:array_pad($ary2, -8, "鈴木")<br>
[0]:鈴木: [1]:鈴木: [2]:鈴木: [id]:1001: [first_name]:山田: [second_name]:太郎: [age]:35: [seibetsu]:男性:<br><br>

コメント