研究ばかりやっていて嫌になってきたので何か違うことをやろうと思い、前から勉強しようと思っていたPHPを勉強しています。PHPに関しては完全なる初心者ですが、C言語とかなり文法が似ているのですぐ覚えられそうです。
ということで、自分用のメモも兼ねて、CプログラマならPHPやったことなくても、これだけわかればとりあえずPHPが書けるようになるだろうというつもりで基本的なことを列挙します。よってPHP独特の記述法は必要ない限りは省きますのでご了承下さい。
11. コメントアウト
C言語と全く同じで
部分的コメントアウト /* */
一行コメントアウト //
やはりWebでは動的なことができると非常に便利ですね。こんなに簡単にPHPが習得できるなら、もっと早くに手を出しておけば良かったと思います。WebサイトもPHPでもっと効率よく更新できる体制を整えたいです。
参考URL
http://www.scollabo.com/banban/php/
ということで、自分用のメモも兼ねて、CプログラマならPHPやったことなくても、これだけわかればとりあえずPHPが書けるようになるだろうというつもりで基本的なことを列挙します。よってPHP独特の記述法は必要ない限りは省きますのでご了承下さい。
1. HTMLへの挿入の仕方
<?php
PHP文
?>
というように<?php ~ ?>の~のところにPHPを記述する。
2. 標準出力
C言語と同じでprintf()が使える。特殊文字記号やフォーマットの記述はほぼC言語と同じ。
他にもprint(), echoなどがあるが、printf()が使えれば問題なし。
例:
printf("%d\n", 100);
3. 変数定義
変数名の前には$をつける。型の明示宣言はない。文字列型はstringが標準である。
型のキャストはCと同じように(型名)で書ける。基本型はint, float, bool, string。
型のキャストはCと同じように(型名)で書ける。基本型はint, float, bool, string。
例:
$i = 10;
$b = (bool)$i;
$f = 1.234;
$s = "abc";
4. 配列
4.1. PHPの配列クラスarrayの構造
array(キー=>値, キー=>値, ...)という感じで初期化する。
PHPの配列クラスはキーと値がペアになったHashMap的な構造になっている。
例:
$data2 = array("A" => "a", "B" => "b");
printf("data2['A'] = %s<br/>\n", $data2["A"]);
4.2. 通常の1次元配列を作る
array(要素1, 要素2,...)で配列初期化。実際のデータはキーがインデックスになっているだけ。
例えばarray("A","B")はarray(0=>"A", 1=>"B")となっている。
例:
$data = array("A","B","C");
print($data[1]);
// B
4.2. 配列に要素追加
添え字を初期化時のサイズより大きくすると自動でサイズが増える。増えた要素は0で初期化される。
例:
$data = array(0,1);
$data[3] = 3;
for($i=0; $i<4; $i++){
printf("%d is %d<br/>\n", $i, $data[$i]);
}
// 0 is 0
// 1 is 1
// 2 is 0
// 3 is 3
5. 定数定義
define(文字列, 値)で定数定義
例:
define("PI", 3.14159265);
constで定数定義
例:
const PI = 3.14159265;
6. 演算子
PHP独特の書き方もあるが、C言語と同じように書いても問題なし。
7. ループ処理
7.1. forループとwhileループ
C言語と全く同じ
7.2. foreach
foreachで配列の要素を全部ループできる。
例:
$ary = array("A" => "a", "B" => "b", "C" => "c");
foreach( $ary as $key => $value) {
printf("\$key は%s、\$valueは%s<br>\n", $key, $value);
}
// $key is A, $value is a
// $key is B, $value is b
// $key is C, $value is c
8. 条件分岐
8.1. if文
基本C言語と同じだがelse ifだけelseifと繋げて記述する
例:
例:
$var = 5;
if($var==5){
print("var is 5\n");
}elseif($var==0){
print("var is 0\n");
}else{
print("var is the others\n");
}
8.2. switch文
C言語と同じ
9. 関数定義
function 関数名(引数){
処理内容
}
で定義、戻り値や引数のデフォルト値, 参照渡しの書き方にはC言語と同じ。
例:
function increment(&$val){
$val++;
}
function addValue($val, $add=10){
return $val+$add;
}
$v = 2;
increment($v);
printf("val is %d<br/>\n", addValue($v));
// val is 13
10. クラス定義と継承、インスタンス生成
クラス関連の書き方はC++よりもJavaに似ている感じ。C++やったことがあれば例を見ればだいたいわかるはずなので説明省略します。
例:
例:
class BaseClass{
private $val1 = 1;
function BaseClass($val){
$this->val1 = $val;
}
function getVal1(){
return $this->val1;
}
function printValue(){
printf("val1 = %d<br/>\n", $this->val1);
}
}
class SampleClass extends BaseClass{
private $val2 = 2;
function SampleClass($val){
$this->val2 = $val;
}
function getVal2(){
return $this->val2;
}
function printValue(){
printf("val2 = %d<br/>\n", $this->val2);
}
function printBoth(){
parent::printValue();
$this->printValue();
}
}
$cl = new SampleClass(10);
$cl->printBoth();
11. コメントアウト
C言語と全く同じで
部分的コメントアウト /* */
一行コメントアウト //
やはりWebでは動的なことができると非常に便利ですね。こんなに簡単にPHPが習得できるなら、もっと早くに手を出しておけば良かったと思います。WebサイトもPHPでもっと効率よく更新できる体制を整えたいです。
参考URL
http://www.scollabo.com/banban/php/