ホームページ  >  記事  >  php教程  >  PHPコードの要点分析1

PHPコードの要点分析1

WBOY
WBOYオリジナル
2016-06-21 08:47:031119ブラウズ

1. post リクエストメソッドと get リクエストメソッドの違い:

1. リクエストの形式は異なります。get リクエストは URL の末尾でデータ アングルをサーバーに送信し、post メソッドはデータをバックグラウンドでサーバーに送信します。別のメッセージ。

2. 送信長が異なります。get リクエストの最大データ サイズは 2k ですが、post リクエストは理論上無制限で、そのサイズは設定ファイルで設定できます。

3. セキュリティ: get メソッドのデータは URL に付加されてサーバーに送信されるため、get のセキュリティは低くなります。

4. アプリケーション シナリオ: データが単純でセキュリティ要件が高くない場合は get が適しています。それ以外の場合は post を使用します。


2. 定数の宣言と使用:

define('PAI1', 3.1415)
const PAI2 = 3.1415;
echo PAI1, PAI2;

define('^_^', ‘笑脸’);
//此种形式不能用echo ^_^来输出此变量,用一个函数即可
echo constant('^_^');

3. 変数の範囲:

個人的には、php には 3 種類のスコープがあると考えています

1. 外部スコープとは、スクリプト内の関数本体の外側のスコープを指します。この領域で宣言された変数は、外部では使用できますが、内部、つまり関数内では使用できません。

2. 内部スコープは、スクリプト内および関数本体内のスコープを指します。この領域で宣言された変数は、内部的には使用できますが、外部からは参照できません。

3. スーパー グローバル スコープは、任意のスクリプトのどこでも使用できます。たとえば、a.php スクリプトのテスト関数の内部または外部で使用できます。

変数を外部で宣言したときに内部で使用できるようにするか、または内部で宣言したときに外部で宣言したときに変数を使用できるようにするにはどうすればよいですか? --グローバルキー

<span style="white-space:pre">	</span>$v1 = &#39;global v1&#39;;
        func1();
        function func1(){
            //echo $v1; //未定义
            global $v1;
            echo &#39;function inner vars v1 :&#39;, $v1;
        }
        echo &#39;以下是在函数内部声明外部使用的<span style="font-family: Arial, Helvetica, sans-serif;">示例</span><br/>&#39;;
        function func2(){
            global $v2; //注释后,在全局内输出$v2会出错
            $v2 = &#39;function inner v2&#39;;
        }
        func2();
        echo $v2;

4. オペレーター

% 演算子: 計算結果の符号は最初のオペランドの符号と一致します

& 参照演算子:

<span style="white-space:pre">	</span>$v3 = 1;
        $v4 = &$v3;
        unset($v3); //unset后会把变量给销毁掉,不能访问$v3
        //echo $v3; //unset再次访问$v3会报错
and or 演算子:

&& and と同じ関数ですが、優先順位が低くなります (= よりも低い)

function func1(){
	return false;
}
$a = func1() or die(&#39;func1 执行返回值为假&#39;);
$a = func1()  die(&#39;func1 执行返回值为假&#39;);


5. エコーとプリントの違い

一方が使用できる場合は、もう一方も使用できると言えます。ただし、この 2 つの間には依然として非常に重要な違いがあります:
echo関数では同時に複数の文字列を出力できますが、print関数では同時に1つの文字列しか出力できません。同時に、echo 関数には括弧が必要ないため、echo 関数は関数というよりもステートメントに似ています。

echo も print も関数ではなく言語構造体であるため、括弧は必要ありません。それらの違いは次のとおりです:
(1) Echo は次のような複数の文字列を出力できます:
echo 'a','b','c';
どうしても括弧を追加する場合は、echo ('a','b','c') のように記述する必要があることに注意してください。 echo ('a'),('b'),('c');
関数のような動作がないため、関数のコンテキストでは使用できません

(2) print は文字列を出力することしかできませんが、関数のように動作できます。たとえば、次のように使用できます:
$ret = print 'Hello World';
したがって、より複雑な式でも使用できます。


さらに、エコーの効率は比較的速いです~
echoコマンドはprintコマンドとは異なります
echo を使用すると、カンマで区切られた複数の変数を出力できますが、print は 1 つの変数のみを出力できます


echo 関数と print 関数には違いがあります。
echo() には戻り値がありません。echo コマンド
と同じです。 Print() には戻り値があり、success は 1 を返し、false は 0 を返します。したがって、print は echo よりも遅くなりますが、より複雑な式に適用できます。


6. isset と empty の違い
isset 関数は、変数が存在するかどうか、またはメモリが割り当てられているかどうかを確認するために開発でよく使用されます。
empty 関数は、値が空かどうかを判断するだけでなく、2 番目の変数が未定義の場合、つまりメモリが割り当てられていない場合には false を返します。つまり、isset が true の場合、empty 関数は空であってはなりません。


7. スイッチは整数、浮動小数点型、文字列、配列、およびブール型をサポートでき、デフォルトは許可されません

<span style="white-space:pre">	</span>//$bol = true;
        //$bol = false;
        $bol = [1,   2, 3];
        switch($bol){
            case 0:
                echo &#39;0<br/>&#39;;
                break;
            case 10:
                echo &#39;10<br/>&#39;;
                break;
            case -1:
                echo &#39;-1<br/>&#39;;
                break;
            case [1,2,3]: //数组
                echo &#39;empty array<br/>&#39;;
                break;
            case 0:
                echo &#39;0<br/>&#39;;
                break;
        }
//当为bool类型时,true在case数值为真时输出,false在case后数值为假时输出,可以运行代码,可以下




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。