【今日のアウトプット】PHPの基礎学習はじめました。

バックエンドのプログラミング言語としてはRubyをこれまで学習してきました。Rubyオブジェクト指向やWeb向けという共通点を持つ、よりメジャーな言語であるPHPの学習を始めたので、今日学んだ基礎の部分をアウトプットしていこうと思います。

PHPの特徴

PHP(Personal Home Page Tools)
  • Webに特化した言語である。(WebサービスやWebアプリ)
  • WordPressをカスタマイズ、テーマの作成ができる
  • データベースに接続して、データの登録・取得・削除ができる

はじめに

まず学習を始めた段階として、Rubyと違って気をつけないといけないと感じた点は、
  • 変数名や配列名の頭に$をつけるということ
  • 末尾に;をつけるということ
  • 配列が[]じゃなかったりする
  • Rubyのようなルーティングと違ってファイルでページ遷移をつくる?ということ
  • 拡張子.phpのファイルは極論HTMLのみで記述できるということ

基本文法

配列

$name = array(a, b, c);

配列に要素を追加するときは、

$name[] = 'd';

配列の要素を上書きするときは、

$name[0] = 'A';


連想配列
Rubyでいうハッシュみたいなもので、キーバリューセットを配列で管理したもの。

$user = array('name' => 'きょろ', 'age' => 23, 'height' => 172);

値の取り出し(キーを指定する)
このときは ( ) ではなく[ ] で、キーを ' ' で囲うことに注意!

echo $user['name'];

値の追加

$user['gender'] = 'men';

for文(繰り返し)

for ($i = 1; $i <= 100; $i++){
    echo $i;
}

注意点は、条件文の()内の区切りは、, ではなく ; であること。 解説をすると、

for (初期値; 条件; 変数の更新){
    繰り返す処理;
}

変数の更新について、$i が1づつ増えていく場合の省略形として、$i++ と書ける。

while文(繰り返し)

for文と違って、変数の更新が条件分に含まれないため、自動的に$Iが増えていくことはないが、whileの条件式が満たされるまで繰り返しが続くので、無限ループに注意する。

$i = 1;  //初期値設定
while ($i <= 100){
    echo $i;
    $i++;  //←これがないと無限ループになる
}

berak; で完全にループを抜ける
continue; でその周だけスキップする(次のループは実行される)

foreach文(配列または連想配列に対して繰り返し処理をする)

$towns = array('東京', '大阪', '福岡');

foreach ($towns as $town){
    echo $town.' ';
}

//出力結果    東京 大阪 福岡 //← .' ' によって都市名の間に半角スペースがある

Rubyではdo~endとブロック変数を使って処理を書いていたけど、PHPでは as を使う。 また、. で変数や文字列などを繋げることができる。

PHPの関数

今日学習した簡単なデフォルト関数

  • strlen(文字列の文字数を返す)
  • count(配列の要素の数を返す)
  • rand(ランダムな整数を返す:例えば、echo rand(1, 5)とすると1~5のランダムな整数を返す)

自分で関数を定義する

記述方法としてはJavaScriptに似ている。

function hello(){
    echo 'Hello World';
}

hello();  //←関数の呼び出し

ちなみに、関数名が2語以上のときは、キャメル型で書くようにする。
関数の戻り値をreturnで返す。

終わりに

満を持してPHPの学習はじめました。良くも悪くもRubyに似てるから、細かいところの記述に注意して慣れていかないとごっちゃになりそうです。考え方についてはまだ触れられてないので分からないけど、基本構文に関しては、理解がしやすいなと思いました。新しいこと学び始めるとワクワクして面白いです。