PHP Cプログラマ目線で見る基本的なこと一覧
「Web 開発」に関連する記事一覧


PHP Cプログラマ目線で見る基本的なこと一覧

2012/01/03
PHP 

研究ばかりやっていて嫌になってきたので何か違うことをやろうと思い、前から勉強しようと思っていたPHPを勉強しています。PHPに関しては完全なる初心者ですが、C言語とかなり文法が似ているのですぐ覚えられそうです。

ということで、自分用のメモも兼ねて、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。
    例:
        $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/

    このエントリーをはてなブックマークに追加  

にほんブログ村 デザインブログ グラフィックアートへ

0.0118 sec

Copyright(C)2006-2018 wsp All Rights Reserved