はじめに
普段、私はRailsでサーバサイドの開発をしているのですが、業務でPHPの開発をすることになりそうなので勉強をはじめました。これから何回かに渡ってPHPの入門記事を書いていこうと思います。
第1回目である今回はPHPの基礎と文字列・数値の操作について記事にします。
基本ルール
PHPの基本的なルールを説明します。非常にシンプルなのですぐ覚えられると思います。
開始と終了のタグ
PHPのコードは <?php と ?> で囲まれた範囲の中に記述します。この範囲の外に書かれたコードはPHPエンジンに無視されます。
ホワイトスペース
他の多くの言語と同じようにPHPでもホワイトスペースは無視されます。PHPの特徴として print などの言語のキーワードと値との間にスペースが無くても動作します。
大文字と小文字の区別
PHPでは言語のキーワードと関数名は大文字と小文字を区別しません。
1 2 3 4 5 6 | <?php // 以下の全ては同じ print"sample"; PRINT"sample"; pRiNT"sample"; ?> |
コメント
PHPでのコメントは // や # を使った1行コメントと、 /* と */ で囲む複数行コメントがあります。なお、1行コメントでは # ではなく // を用いる方が良いようです。
1 2 3 4 5 6 7 8 9 10 | <?php // 1行コメント # これも1行コメント print"hoge";// これもOK /* 以下の行は実行されない print "hogehoge"; print "fuga"; */ ?> |
変数の定義
PHPでは変数名の先頭に $ をつけて定義します。PHPの変数は ++ と — でインクリメント、デクリメントできる他、 += と .= で数値を加算して代入、文字列を結合して代入が行えます。
文字列の操作
PHPでの文字列の定義とよく使う操作について説明します。
文字列の定義
PHPの文字列ではsingle quoteで囲む場合とdouble quoteで囲む二種類があります。また、文字列中に特殊文字を含める場合は、他の多くの言語と同じようにエスケープ文字(/)を用います。
single quoteで囲った文字列とdouble quoteで囲った文字列の違いは扱える特殊文字の種類と変数の扱いです。double quoteで囲った場合は \n などの特殊文字を扱うことができ、さらに、変数が展開されます。
1 2 3 4 5 6 7 8 9 10 11 | <?php // single quote print'hoge hoge'; // hoge hoge // double quote $str='Taro Yamada'; print"Hello! $str.\nNice to meet you!"; // Hello! Taro Yamada. // Nice to meet you! ?> |
PHPでは上記の他にヒアドキュメントでも文字列を定義できます。
1 2 3 4 5 6 7 8 9 10 | <?php print<<<HTML <html> <head><title>sample</title></head> <body> <p>Hello,World!</p> </body> </html> HTML; ?> |
無駄なスペースを削除する
文字列の先頭と末尾のホワイトスペースの削除は trim() 関数で行えます。
1 2 3 4 | <?php printtrim(' hoge hoge '); // hoge hoge ?> |
長さを調べる
文字列の長さは strlen() 関数で調べられます。
1 2 3 4 5 6 7 | <?php $str='hoge hoge'; if(strlen($str)!=4){ print$str; } // hoge hoge ?> |
比較する
文字列同士の比較は == で行います。また、 strcasecmp() 関数を使うことで、大文字と小文字を区別しない比較も行えます
1 2 3 4 5 6 7 8 9 10 11 | <?php $str='Hoge'; if($str=='hoge'){ print$str; } // if(strcasecmp($str,'hoge')){ print$str; } // Hoge ?> |
フォーマット
printf() 関数を使用することで、様々なフォーマットで文字列を出力できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php // 小数の表示 $price=51;$tax=0.08; printf('Tax is %.2f.',$price*$tax); // Tax is 4.08. // パディング $year=2018;$month=1;$day=1; printf('%d/%02d/$02d',$year,$moth,$day); // 2018/01/01 // 符号の表示 $plus=10;$minus=-5; printf('%+d ~ %+d',$minus,$plus); // -5 ~ 10 ?> |
大文字、小文字の変更
文字列を全て小文字にするには strtolower() 関数を使います。逆に、文字列を全て大文字にするには strtoupper() 関数を使います。
1 2 3 4 5 6 7 | <?php $str='Hello, World!'; printstrtolower($str); // hello, world! printstrtoupper($str); // HELLO, WORLD! ?> |
また、 ucwords() 関数を使うと文字列内のそれぞれの単語の1文字目を大文字に変換します。
1 2 3 4 5 | <?php $str='taro yamada'; printucwords($str); // Taro Yamada ?> |
部分的な抽出
文字列の部分的な抽出は substr() を使います。
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $str='abcdefghijklmn'; // 3文字目から5文字を表示 printsubstr($str,2,5); // cdefg // 後ろから7文字目から3文字を表示 printsubstr($str,-7,3); // ghi // 後ろから5文字目から最後まで表示 printsubstr($str,-5); // jklmn ?> |
置換
文字列の置換は str_replace() 関数を使います。
1 2 3 4 5 | <?php $str='090 1234 1234'; printstr_replace('12','98',$str); // 090 9834 9834 ?> |
結合
PHPでの文字列の結合は + ではなく . で行います。
1 2 3 4 5 6 | <?php $first_name='Taro'; $last_name='Yamada'; print'Hello! '.$first_name.' '.$last_name.'.'; // Hello! Taro Yamada. ?> |
数値の操作
他の言語と同じように、PHPでは整数と浮動小数点数を扱えます。PHPでの計算方法を説明します。
計算
PHPでは四則演算と剰余計算ができます。
1 2 3 4 5 6 7 8 9 10 11 12 | <?php print1+1; // 2 printf('%.2f',10-3.55); // 6.45 print30/6; // 5 print4*6; // 24 print70%6; // 4 ?> |
さいごに
PHP入門の1回目として、基本ルールと文字列、数値の操作について紹介しました。