navigationTheme前回の記事で、最小構成のテーマを作成してPHP/HTMLの書き方を学習しました。WordPressのテーマをきちんと作成するには、どうしてもPHPの知識が必要になります。本サイトはPHPをテーマにしているわけではありませんが、この記事を通して、テーマ作成のために最低限必要だと思われるPHPの基礎について習得していきたいと思います。変数とは、文字列(string)や数値(int/float)を入れておくための入れ物で、$aや$countのように頭に$をつけて表します。変数の名前には、アルファベットとアンダーバー、および数字が使えます(ただし先頭に数字は使えません)。ほかのプログラム言語のように、変数を宣言する必要はありません。変数に何かを入れる(代入する)には=(イコール)を使います。数学的な「等しい」という意味ではありません。$a;で出力してみました。ブラウザには10と表示されるはずです。数字の場合は四則演算などが可能です。$c;で出力しています。結果は15となります。変数に入れられるもの変数には様々な種類のものを入れることができます。この「種類」のことを、プログラムでは「型」と言います。nullちょっと難しくなってきましたが、とりあえず今は「6種類くらいのものを変数に入れることができる」という理解で大丈夫です。文字列とは文字列(string)は文字のデータを扱うための型で、’シングルクォーテーション‘、または”ダブルクォーテーション“を用いて表現します。両者に差はほとんどありませんが、WordPressでは’シングルクォーテーション’を用いることをおすすめします。Akizakiと表示されます。複数の文字列は、’.’(ドット)を用いて連結することができます。Akizakiと表示されます。文字列の連結はWordPressでもよく使います。変数は1つのデータしか入れられませんでしたが、配列は複数のデータを入れることができます。);?>このarray()は配列を作るための命令です。];?>と書くこともできます。ぼくはいまだにarray()のほうを使います。配列に入っているデータは、0、1、2というふうにインデックスがついていますので、データを取り出すときは[]を使って次のように書きます。$animals[0];?>0番のデータはdogですので、ブラウザにはdogと出力されます。数字によるインデックスではわかりにくいので、名前を付けることができます。);?>改行されていますが、$siteから;までがひとまとまりです。このように、keyとvalueの組み合わせで表現する配列を「連想配列」といい、WordPressでは頻繁に使われます。keyとvalueを組み合わせるのためには=>という、=と>を組み合わせた、矢印のような書き方をします。データを取り出したいときは、インデックスの代わりにkeyを用いて$site['url']のように書きます。'</p>';?>ブラウザで確認すると、次のように表示されます。「条件分岐」とは、条件によって処理を分岐させることを意味します。if文のみ理解しておけば十分でしょう。if文は次のように記述します。*/}「条件」を処理した結果がtrueなら「条件を満たした時の処理」が実行され、そうでないときは何も起きません。'より大きい';が実行されます。elseとelseifelseは、ifの条件を満たさなかったときに実行する処理を書くためにあります。}?>10は20より小さいので、if文の条件は満たしません。条件を満たさなかったときは、elseの中に書いてある処理が実行されます。elseifは条件を追加するときに使います。}?>10と2は等しくないので、ifの条件は満たしませんが、10は2より大きいので、elseifの条件は満たします。したがって「10は2より大きい」と出力されます。ちなみに>や===を「比較演算子」といい、いくつか種類があります。詳しくはこのページを参考にしてください。「等しい」を判定する比較演算子には、==と===があります。==は型チェックをしませんが、===は型が同じでないと等しくなりません。$bはfalseになります。==は判定があいまいなので、===を使うことを推奨します。ループ繰り返し処理を行うことを、プログラムではループと表現します。for文が最も有名ですが、WordPressではほとんど使わないので、whileとforeachについてのみ説明します。while文while文は次のように書きます。*/}while文は、「条件」を満たす限り延々と「繰り返し行いたい処理」を実行し続けます。したがって、「条件」はいつかfalseになるものでないと、無限ループにはまります。次のように常に満たす条件を与えると、処理が終わらずサーバが応答しなくなります(この処理は実行しないでください)。}?>while文は「x回処理を実行する」などといった、カウントと一緒に使われることが多いです。}?>$count++の++は数字を1加算(インクリメント)する命令です。5を満たさなくなって終了します。while文の出力結果5までカウントして終了していますね。ちなみに、1減算(デクリメント)するには、--演算子を使います。foreach文foreach文は、配列や連想配列とセットで使います。わかりにくいので、例をみてみましょう。}?>1回目の処理では、$valueに'dog'が入り、2回目の処理では'cat'が入ります。配列のすべての要素を処理したらforeachは終了します。「配列のすべての要素に対して処理を行いたい」というケースは多いですので、foreachはとても便利です。連想配列の場合は、次のようなことができます。$valueとすることで、keyとvalueをセットで取り出すことができます。関数とは、いくつかの処理をまとめて名前をつけたものです。「定義」して「呼び出す」という2ステップで使います。関数名()という形で定義します(小文字の英数字とアンダーバーで命名します)。呼び出すときは関数名()と記述します。Akizakiとブラウザに表示されます。引数(ひきすう)引数は、関数を実行するときに情報を渡すための仕組みです。言葉ではわかりにくいので、例を見てみましょう。);?>この$aと$bが引数で、関数を定義するときは具体的な値はわかっていません。関数を使うときに値を代入することで、足し算をするプログラムを、汎用的に使うことができます。関数は、同じような処理をまとめるのにとても便利です。ちなみにWordPressでは、引数に配列を取る関数が非常に多いですので、ここで少し練習しておきましょう。);?>$argsは配列が渡されることを想定した引数です。中でforeachを用いてすべてのkeyとvalueを出力しています。この引数に、$group1の配列と、$group2の配列を順番に渡しています。引数に配列を渡すとき、いちいち新しく変数を定義せず、次のように直接書くこともできます。);WordPressでは、この直接渡す記法をよく見かけます。長くなる場合は、次のように改行すれば読みやすくなります。);返り値(かえりち)返り値とはその名のとおり、関数を実行した際に返ってくる値のことです。上で見てきた関数には返り値はありません(void関数)。'</p>';?>returnで返す値を決めます。return以降は処理が実行されないので、関数の一番最後に記述するのが基本です(ifを使って、条件によって返す値が異なる場合には、returnが複数存在することもあります)。返り値はechoと違って出力はされません。'</p>';のように、そのままほかの処理と組み合わせて使ったりします。返り値を持つ関数の出力結果クラスとオブジェクトこれで最後です。クラスとは、いくつかの変数や関数をまとめて、ひとつの大きな機能を作成するための仕組みです。クラスの変数をプロパティ、クラスの関数をメソッドと言います。オブジェクトとは、クラスの機能が丸ごと入った変数だと思ってください。最初のうちは、自分でクラスを作成できる必要はありませんので、ここでは深く説明はしません。オブジェクトの操作方法だけは知っておく必要があります。*/オブジェクトの中のプロパティやメソッドにアクセスするには、->を使います。連想配列の=>とは異なりますので注意してください。現段階では、プロパティは変数のように、メソッドは関数のように扱えば問題ありません。おわりにPHPの超基本について解説してみました。眠くなるような内容ばかりで、あまり面白くなかったかもしれませんが、テーマを作る上ではPHPの基礎がどうしても必要になります。関数の引数と返り値プロパティとメソッドの使い方すぐにコードが書けなくても、それぞれがどのような意味・内容なのかは理解しておきましょう。しないと、今後の内容がちんぷんかんぷんになってしまいます。書き方だけであれば、Googleで検索すればすぐに見つかるので、今は忘れてしまっても構いません。次回はいよいよ、実際にテーマを作ってみたいと思います!つづけて読むこの記事には続きがあります。