PHPの基本的な注意事項

WBOY
WBOYオリジナル
2016-06-23 13:14:371202ブラウズ

データ型

  • String
  • Integer
  • 浮動小数点
  • Boolean
  • Array
  • Object
  • NULL
  • 未定義の変数、データ型は NULL です。

    PHP の配列とオブジェクトは異なる型ですが、js の配列はオブジェクトです。 (追記: es6 には既に組み込みクラスがあります)

    演算子

    文字列の連結では + の代わりに . (ドット演算子) を使用します。したがって、PHP では 2 つの文字列数値を + で接続すると、自動的に数値に変換されて加算されます。

    $a = "100";$b = "200";$c = $a + $b;echo $a + $b; // 300
    ループ ステートメント

    foreach ループは 配列 でのみ機能し、配列内の各キーと値のペアを反復するために使用されます。

    $a = array("red", "green", "blue", array(1, 2, 3)); foreach ($a as $i) {  var_dump($i);}// string 'red' (length=3)// string 'green' (length=5)// string 'blue' (length=4)// array//   0 => int 1//   1 => int 2//   2 => int 3
    ダブルクォートとシングルクォーテーション

    js におけるダブルクォーテーションとシングルクォーテーションの使い方は基本的に同じです。

    PHP 内の単一引用符はコンテンツをプレーンテキストとして扱い、サーバーによって翻訳されません。二重引用符はその逆で、内部のコンテンツはサーバーによって処理され、HTML コードとして出力されます。

    $a = 10;echo "the value of a is $a";  // the value of a is 10echo 'the value of a is $a';  // the value of a is $a

    データベースクエリステートメントを作成するときに非常に便利です。

    結果は次のようになりました:

    $date = '2016-03-01';$sql = 'select * from adblock where day >= ' . '"' . $date . '"' . ' order by day';

    実際には、次のようにするだけで済みます:

    $date = '2016-03-01';$sql = "select * from adblock where day >= $date order by day";

    二重評価を避けるために (効率が高く) 可能であれば一重引用符を使用します (js の eval() に似ています) 、setTimeout コールバックは文字列などを渡しません)。

    関数パラメータの受け渡し

    JS 関数は値によって渡されます (詳細については、こちらを参照してください)。ただし、オブジェクト (配列を含む) パラメータを渡すときは特に注意する必要があります。元の値が変更されている可能性がありますので注意してください。

    PHP は、値による受け渡しと参照による受け渡しをサポートしています。違いは、C 言語と同様に、関数パラメーター内の & アドレス記号です。

    値による (元の値は変更されない):

    function fn($a) {  $a[0] = 10;}$a = array(1, 2, 3);fn($a);var_dump($a);// array// 0 => int 1// 1 => int 2// 2 => int 3

    参照による (元の値が変更される):

    function fn(&$a) {  $a[0] = 10;}$a = array(1, 2, 3);fn($a);var_dump($a);// array// 0 => int 10// 1 => int 2// 2 => int 3
    変数のスコープ

    js の変数のスコープは関数単位であり、ブロックレベルのスコープはありません。 (追記: es6 let キーワードはブロックレベルのスコープを実装します)。

    PHP には 3 つの異なる変数スコープがあります:

  • local (ローカル)
  • global (グローバル)
  • static (静的)
  • 関数の外部で宣言された変数はグローバル スコープを持ち、関数内でのみ外部にアクセスできます。 (これは js とは異なり、js 関数は関数の外の変数にアクセスできます) 関数内で宣言された変数は LOCAL スコープを持ち、

    は関数内でのみ

    アクセスできます。 (jsと似ています) PHP 関数外の変数は関数外からのみアクセスでき、関数内の変数は関数内からのみアクセスできます。グローバル キーワード (または $GLOBALS[]) を使用して、内部と外部の境界を開くことができます。 関数内の外部変数にアクセスする:

    $a = 10;function fn() {  global $a;  echo $a;  // 10}fn();

    または:

    $a = 10;function fn() {  echo $GLOBALS['a']; // 10}fn();

    関数の外で内部変数にアクセスする (実際には関数内でグローバル変数を宣言します):

    function fn() {  global $a;  $a = 20;}fn();echo $a;  // 20

    または:

    function fn() {  $GLOBALS['a'] = 20;}fn();echo $a;  // 20
    型変換

    PHP で変数を強制することもできます変換、これはC言語に似ています。変換する変数の前にターゲットの型を追加し、ターゲットの型を括弧で囲みます。

    PHP で許可される強制型変換は次のとおりです:

    (int)、(integer) - 整数型に変換されます

    (bool)、(boolean) - bool 型に変換されます

  • (float)、(double )、 (実数) —— 浮動小数点型に変換

  • (string) —— 文字列に変換
  • (array) —— 配列
  • (object) に変換 —— オブジェクト
  • に変換
  • または settype 関数を直接使用します。そして粗野。 (次項参照)
  • 型判定
  • 変数の型を決定します:
  • is_integer()

    is_string()

  • is_double()
  • is_array()
  • is_null()
  • is_object()
  • is_int ()
  • is_numeric()
  • 変数の型を取得する:
  • gettype()
  • 変数の型を設定する:

  • settype()

    $a = 10;settype($a, "string");var_dump($a); // string '10' (length=2)

  • さらに、var_dump() は

    データ型も返します

    と変数の値。
  • 基本的なデバッグ

    echo() (複数の文字列を出力可能) または var_dump() を使用して変数を出力します。 php ファイルをブラウザで直接開くと、印刷結果がページに表示されます。http リクエストの場合、印刷結果は http レスポンス (f12 ビュー) に表示されます。 JS デバッグのコンソール出力スタイルに慣れている場合は、chrome-logger を試すことができます

    その他

    isset() は変数が定義されているかどうかを判断します

    unset() は 1 つ以上の変数を削除します

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