「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
PHPUtilプラグイン(その8・配列関係の関数)
PHPUtilプラグインでは、配列関係の処理を行う関数をいくつか使うことができます。
1.配列の最後に要素を追加
配列の最後に要素を追加するには、MTPHPSetVar/MTPHPSetVarBlockタグで「push」という関数を使います。
push関数は以下のどちらかの書き方をします。
・functionモディファイアで関数を指定する
<$mt:PHPSetVar name="配列名" function="push" value="値"$> <mt:PHPSetVarBlock name="配列名" function="push"> ・・・(各種の処理)・・・ </mt:PHPSetVarBlock>
・nameモディファイアで関数を指定する
<$mt:PHPSetVar name="push(配列名)" value="値"$> <mt:PHPSetVarBlock name="push(配列名)"> ・・・(各種の処理)・・・ </mt:PHPSetVarBlock>
例えば、配列messagesの最後に、値が「abc」の要素を追加するには、以下のどちらかの書き方をします。
<$mt:PHPSetVar name="messages" function="push" value="abc"$> <$mt:PHPSetVar name="push(messages)" value="abc"$>
2.配列の最初に要素を挿入
配列の最初に要素を挿入するには、「unshift」という関数を使います。
書き方はpush関数と同じで、前述の例の「push」を「unshift」に置き換えます。
例えば、配列messagesの最初に、値が「abc」の要素を挿入するには、以下のどちらかの書き方をします。
<$mt:PHPSetVar name="messages" function="unshift" value="abc"$> <$mt:PHPSetVar name="unshift(messages)" value="abc"$>
なお、unshiftを行うと、個々の要素の番号は0番から降りなおされます。
例えば、配列の内容が以下のようになっているとします。
番号 | 値 |
---|---|
2 | abc |
5 | 123 |
ここで、unshiftを使って、配列の先頭に値が「xyz」の要素を挿入するとします。
すると、配列の内容は以下のようになり、番号が0番から振りなおされます。
番号 | 値 |
---|---|
0 | xyz |
1 | abc |
2 | 123 |
3.配列の最後から要素を取り出す
配列の最後から要素を取り出して出力し、その要素を配列から削除するには、MTPHPGetVarタグで「pop」という関数を使います。
以下のどちらかの書き方をします。
<$mt:PHPGetVar name="配列名" function="pop"$> <$mt:PHPGetVar name="pop(配列名)"$>
例えば、配列arの内容が以下のようになっているとします。
番号 | 値 |
---|---|
0 | xyz |
1 | abc |
2 | 123 |
この状態で、<$mt:PHPGetVar name="ar" function="pop"$>を実行すると、「123」と出力されます。
また、配列arの最後から「123」の要素が削除され、以下のようになります。
番号 | 値 |
---|---|
0 | xyz |
1 | abc |
4.配列の最初から要素を取り出す
配列の最初から要素を取り出して出力し、その要素を配列から削除するには、MTPHPGetVarタグで「shift」という関数を使います。
以下のどちらかの書き方をします。
<$mt:PHPGetVar name="配列名" function="shift"$> <$mt:PHPGetVar name="shift(配列名)"$>
なお、unshift関数と同様に、shift関数を実行すると各要素の0番から番号が振りなおされます。
5.配列の要素の数を出力
配列にある要素の数を出力するには、MTPHPGetVarタグで「count」という関数を使います。
以下のどちらかの書き方をします。
<$mt:PHPGetVar name="配列名" function="count"$> <$mt:PHPGetVar name="count(配列名)"$>
6.配列のクリア
配列をメモリからクリアするには、「undef」という関数を使います。
例えば、配列messagesをメモリからクリアするには、以下のどちらかの書き方をします。
<$mt:PHPSetVar name="messages" function="undef"$> <$mt:PHPSetVar name="undef(messages)"$>
7.PHPUtilプラグイン関係の記事の一覧
PHPUtil関係のその他の記事は、以下のリンクから参照できます。
- PHPUtilプラグイン(その1・概要とインストール)
- PHPUtilプラグイン(その2・ファイルの読み込み)
- PHPUtilプラグイン(その3・日時関係の処理)
- PHPUtilプラグイン(その4・ユーザーエージェントの判断)
- PHPUtilプラグイン(その5・変数の基本)
- PHPUtilプラグイン(その6・変数の計算)
- PHPUtilプラグイン(その7・配列の利用)
- PHPUtilプラグイン(その8・配列関係の関数)
- PHPUtilプラグイン(その9・ハッシュの利用)
- PHPUtilプラグイン(その10・GET/POSTされた値を得る)
- PHPUtilプラグイン(その11・条件判断前半)
- PHPUtilプラグイン(その12・条件判断後半)
- PHPUtilプラグイン(その13・一定回数の繰り返し)
- PHPUtilプラグイン(その14・配列/ハッシュの出力)
- PHPUtilプラグイン(その15・条件による繰り返し)
- PHPUtilプラグイン(その16・繰り返しを途中で抜ける)
- PHPUtilプラグイン(その17・関数の実行)
- PHPUtilプラグイン(その18・各種のグローバルモディファイア)