">

ホームページ  >  記事  >  バックエンド開発  >  PHP基礎学習ノート(12)

PHP基礎学習ノート(12)

WBOY
WBOYオリジナル
2016-08-08 09:27:221059ブラウズ

php基本语法

<?<span>php
    </span><span>//</span><span>这个是php单行注释</span>
    <span>/*</span><span>
        这是多行注释
    </span><span>*/</span>
    <span>//</span><span>每条php语句使用英文分号结束&mdash;&mdash;必须使用!
    </span><span>//</span><span>php是一门区分大小写的语言&mdash;&mdash;但函数名除外
    </span><span>//</span><span>php的任何一个变量名都要使用一个$符开头。</span>
?>

变量和常量

php中,变量使用一个$符号开头。变量通常是直接赋值(此时如果是第一次赋值也就表示定义)。

常量:设定一个其值不会也不应该改变的数据标识符(数据名字),比如数学上的“pi”。

$pi = 3.14;        //这是变量

define(“PI”, 3.14);    //这是定义一个常量,名字为“PI”,值为3.14,这里也就类似赋值

常量定义的同时也就是赋值,且只是这一次性的!

常量和变量的区别:

  • 常量前面没有美元符号($)
  • 常量只能用 define() 函数定义,而不能通过赋值语句赋值
  • 常量可以不用理会变量范围的规则而在任何地方定义和访问
  • 常量一旦定义就不能被重新定义或者取消定义
  • 常量的值只能是标量(即整数,浮点数,字符串,布尔)

数据类型:

         基本类型(标量类型):

                   布尔类型(bool,boolean): 只有两个数据:true  false

                   字符类型(string):可以是单引号,也可以是双引号,还可以是“定界符”格式

                   整数类型(int,integer):

                            $v1 = 10;

                            $v2 = 012;                  //以0开始的数字表示“8进制”整数,这里相当于10进制的10

                            $v3 = 0x1F;                //以0x开始的数字表示16进制整数,这里相当于10进制的31

                   浮点类型(float,double)

                            $v4 = 12.34;

                            $v5 = 12.34e5;                   //12.34乘以10的5次方

         复合类型:

                   数组类型:

                   对象类型:

         特殊类型:

                   资源类型:表示某种“外界数据”的类型。

                   空类型(null):只有一个数据,就是“null”

3种字符串类型的区别:

$str1 = <span>"</span><span>abc\ndefg1</span><span>"</span>;    <span>//</span><span>双引号字符串中可以识别以下转义字符:\"  \n  \r  \t  \\  \$</span>
$str2 = <span>'</span><span>a\bc\ndefg2\\</span><span>'</span>;        <span>//</span><span>单引号字符串中只能识别以下转义字符:\'  \\。其中"\\"通常只用于最后一个字符
</span><span>//</span><span>下述为定界符字符串,其中的“ABCD”是随意命名的一个符号。字符串也就使用该符号结尾。
</span><span>//</span><span>定界符字符串中可以识别以下转义字符:\n  \r  \t  \\  \$</span>
$str3 = <<<<span>ABCD
abc\nde</span><span>"</span><span>f'g3</span>
<span>这叫做定界符字符串
这个范围的任何内容都是属于str3这个字符串的内容
换行也可以直接换
还可以写html和js等等。。。比如:
</span><hr />
<script><span>
    alert(</span><span>"</span><span>dddd</span><span>"</span><span>);
</span></script><span>
ABCD;
</span><span>//</span><span>特别注意:上述一行定界符字符串的结束符只能出现该名字本身和一个分号,不能有任何其他内容,比如空格,缩进(tab符)

</span><span>//</span><span>注意:在双引号字符串和定界符字符串中,可以直接识别变量并用该该变量的值来填充其内容。
</span><span>//</span><span>如果想要不被识别,则需要使用"\$"来将该$符号进行转义</span>
    $i = <span>5</span><span>;
    echo </span><span>"</span><span>$i=</span><span>"</span> . $i ;

传值方式:

         值传递(赋值传值):将一个变量的值拷贝一份,然后赋值给另一个变量,此时两个变量的值相等(相同),但两个变量是完全独立的没有关联的变量。

                   默认情况下,在php中,简单数据类型和数组以及空类型使用值传递。

クォート送信(参照値): 複数の変数で表され、別の変数に代入された変数で表されるコピーを 1 つコピーします。これは、同じアドレスの 1 つ (対応する) を指す 2 つの変数に相当します。このアドレスも唯一のアドレスです。 to be データの場所を表します。このとき、2つの変数の値が等しいということは、2つの変数が実際に共通のデータを参照していることも意味する。

デフォルトでは、php では、オブジェクトタイプとリソースタイプは参照によって渡されます。

ただし:

デフォルトで転送されるデータを人為的に使用して、基準送信値を使用することもできます。構文は次のとおりです:

変数 1 = & 変数 2;

例:

$v1 = 10;

️ $v2

$v1++;

echo $v2;

jsを比較:

jsではデフォルト値の転送方法のみで人為的な設定方法はありません

js の場合: デフォルト値の転送のタイプは次のとおりです: 数値、文字、ブール値、2 つの特殊なタイプ

デフォルトで参照される値のタイプは次のとおりです: 配列、オブジェクト

オペレーター:

l 算術演算子: + - * / % ++ --

+ 記号は「算術演算」のみを実行し、二重の意味はありません。

++ -- シンボルの意味と使用法は js とまったく同じです。

    l は変数の前に書かれ、その後: 最初に加算 (デクリメント) し、次に他の操作 (代入など) を実行します
  • l は変数の後に記述され、その後: 最初に他の操作 (代入など) を実行してから、自分で加算 (減算) します
% 記号は整数の AND 演算のみを実行します。整数でない場合は、まず自動的に整数に変換されてから、剰余が取得されます。

l 比較演算子: == != >= < <= ===(すべて等しい)

    == は通常「あいまい等価」を意味し、=== は完全な等価を意味します (データ型とデータ値が同じ場合のみ)
  • ファジー等価のさまざまな状況については、マニュアル:付録〉型比較表を参照してください

l 条件演算子: (expr1) ? (expr2) : (expr3)、例:
  • 意味: 式exp1を評価して判定し、判定結果が真の場合は式全体の結果はexp2、それ以外の場合は式全体の結果はexp3
  • $v1 = $fs>60 ? "合格" : "追試" ; //v1 には fs の値に基づいて 2 つの状況があります

補足知識: 単項演算子は次のとおりです: !、++、--、~、、二項演算子は最もよく使用される演算子で、三項演算子はこれです。

  • l 論理演算子: &&(AND) ||(OR) (NOT)
  • 論理 AND &&: 両方のデータが true の場合のみ、結果は true になります
  • 論理和||: 1 つのデータが true である限り、結果は true になります

論理否定! :論理データの逆の値をとります。

  • l 文字列演算子: . (つまり、英語のピリオド) .= (つまり、「+=」に似ています)
  • .= は単なる「省略表現」です、 $v1 = $v1 . "abc"; è $v1 .= "abc";
l ビット演算子: &(AND) |(OR) ~(NOT) ^(XOR) <<(左シフト) >>(右シフト)

    ビット演算子はすべて 2 進数系で実行されます。
  • ビットごとの AND &: 2 つの対応するビットの数値が両方とも 1 の場合にのみ結果が 1 になります

ビットごとの OR|: 対応するビットの 1 つの数値が 1 である限り、結果は 1 になります

    ビット単位の NOT~: 否定、つまり 1 は 0 になり、0 は 1 になります
  • ビットごとの XOR^: 2 つの対応するビットの数値が異なる場合、結果は 1 になります
  • l 代入演算子: = += -= *= /= %= .=
  • 演算子の優先順位の問題: 基本的には js と同じです。
  • データ型変換
  • 在js中,基本没有数据类型转换的概念,实际的转换都是“自动发生”的——默认转换。

             js中有两个“类似”类型转换的函数: parseInt(….)  parseFloat(…)

    php中,既有默认转换,也有强制转换。

    默认转换举例:

$v1 = <span>10</span> - “<span>3</span>”;        <span>//</span><span>7;</span>
    $v2 = <span>10</span> + “<span>3</span>”;        <span>//</span><span>13;</span>
    $v3 = <span>10</span> + “3abc”;    <span>//</span><span>13;</span>
    $v4 = <span>10</span> + “<span>3</span>.5abc”;    <span>//</span><span>13.5;</span>
    $v5 = <span>10</span> + “abc3”;    <span>//</span><span>10;</span>
    $v5 = <span>10</span> + “abc”;    <span>//</span><span>10</span>
    $v5 = “<span>10</span>” + “abc”;    <span>//</span><span>10</span>
    $v5 = “10ABC” + “5abc”;    <span>//</span><span>15</span>
    $v5 = “ABC10” + “abc5”;    <span>//</span><span>0</span>
    $v5 = “ABC” + “abc”;    <span>//</span><span>0</span>

………………….凡是使用算术运算符进行运算,都会“看成”数字,如果实在转不成一个数字,也会当做0来进行计算。

强制转换:

<span>语法: (要转成的目标类型)数据;
    举例:
    $v1 </span>= (<span>int</span>) “<span>3</span>.5abc”;    <span>//</span><span>3;int类型</span>
    $v1 = (<span>float</span>) “<span>3</span>.5abc”;    <span>//</span><span>3.5;    </span><span>//</span><span>这里其实是float类型</span>
    $v1 = (<span>string</span>) <span>3</span>;        <span>//</span><span>”3”;</span>
    $v1 = (<span>bool</span>) “<span>3.5</span>”;        <span>//</span><span>true</span>

——特别推荐将一个数据转换为bool类型的时候:查手册:附录〉类型比较表〉对变量 $x 进行比较 〉 if($x)列

以上就介绍了php基础学习笔记(12),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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