仕事でよく使う! PHPの配列操作関数まとめ<その1>

こんにちは! 池島です。
 
PHPで開発をするにあたって、配列の操作は避けて通れません。今回備忘を兼ねて、実際の開発で頻出する配列操作の関数をまとめましたので、ご紹介します。

検証環境

今回検証を行ったPHPのバージョンは以下の通りです。

PHP
8.1.17

配列か判定する is_array関数

is_array($value)

$valueが配列かどうか判定し、trueかfalseを返却します。操作を行う配列がそもそも配列かどうか判定する際に利用します。例えば以下の通り利用します。
<?php
    $itemArray = array(
        "tomato" => "トマト",
        "onion" => "タマネギ",
        "carrot" => "人参"
        );
    // itemArrayが配列かis_arrayで判定
    if (is_array($itemArray)){
        echo "配列である";
    } else {
        echo "配列ではない";
    }
?>

実行結果は以下の通りです。
配列である

配列かどうか判定してから配列の要素にアクセスすることで、意図しないエラーの発生を防ぐ目的で使われることが多いです。

配列に要素があるか判定する array_key_exists関数

array_key_exists($key, $array)

$arrayの中に、$keyをキーとして持つ要素が存在するか判定し、trueかfalseを返却します。例えば以下の通り利用します。
<?php
    $itemArray = array(
        "tomato" => "トマト",
        "onion" => "タマネギ",
        "carrot" => "人参"
        );
    // リストに存在するかarray_key_existsで判定
    if (array_key_exists("apple", $itemArray)){
        echo "リストに存在する";
    } else {
        echo "リストに存在しない";
    }
?>

実行結果は以下の通りです。
リストに存在しない

チェック処理や要素によって処理分岐する際に頻繁に利用します。

配列の先頭を取得する array_shift関数

array_shift($array)

$arrayの先頭を取り出して返します。値を取り出された$arrayからは先頭の要素が1つなくなります。例えば以下の通り利用します。
<?php
    $resultArray = array("データの取得に成功しました","200");
    // リストの先頭を取得
    echo array_shift($resultArray)."\n";
    echo array_shift($resultArray);
?>

実行結果は以下の通りです。
データの取得に成功しました
200

通信を介してデータ取得をする際に、取りたいデータ以外にステータスが配列でついてくるときがあります。こういった返却されるデータが決まっている場合によく利用します。
 
また、配列の最後尾を取得する array_pop関数もありますので、同様の使い方で使い分けて利用します。

配列に要素を追加する array_push関数

array_push($array, $value1, $value2, ……)

$valueを$arrayの最後尾に追加します。$valueを複数記載すればその分順番に追加されます。例えば以下の通り利用します。
<?php
    $participantArray = array("田中");
    // 配列に要素を追加
    array_push($participantArray, "山田", "鈴木");
    
    foreach ($participantArray as $participant) {
        echo  $participant. "\n";
    }
?>

実行結果は以下の通りです。
田中
山田
鈴木

また、1つの要素を追加する場合は以下の書き方を利用します。
$array[] = $value;

下記の通り利用します。
<?php
    $participantArray = array("田中","山田", "鈴木");
    // 配列に要素を追加
    $participantArray[] = "佐藤";
    
    foreach ($participantArray as $participant) {
        echo  $participant. "\n";
    }
?>

実行結果は以下の通りです。
田中
山田
鈴木
佐藤

また、最後尾ではなく先頭に要素を追加したい場合は、array_unshift関数を利用します。こちらは配列の添字がすべて新しく0から採番されますので、注意が必要です。

まとめ

いかがでしたでしょうか。
 
今回は実際に開発で使われている物をまとめました。PHP開発の際に参考にしてもらえると幸いです。
 
ではまた!
 
 
 
 
《関連記事》

PHPのusortの使い方
技術
2023.9.13(Web)

独自ルールでソート実装! PHPのusortの使い方

#PHP

Laravelの開発環境の構築
技術
2019.11.21(Thu)

Laravelの開発環境の構築! パッケージ管理ツールComposerのインストール方法

#PHP

PHPの変数の使い方2
技術
2016.7.8(Fri)

【PHPをふわっと語りたい人のための入門講座】 PHPの変数の使い方2

#PHP

記事をシェア
MOST VIEWED ARTICLES