ホームページ >バックエンド開発 >PHPチュートリアル >PHP基礎学習ノート(12)、PHP基礎学習ノート12_PHPチュートリアル
<?<span>php </span><span>//</span><span>这个是php单行注释</span> <span>/*</span><span> 这是多行注释 </span><span>*/</span> <span>//</span><span>每条php语句使用英文分号结束——必须使用! </span><span>//</span><span>php是一门区分大小写的语言——但函数名除外 </span><span>//</span><span>php的任何一个变量名都要使用一个$符开头。</span> ?>
php中,变量使用一个$符号开头。变量通常是直接赋值(此时如果是第一次赋值也就表示定义)。
常量:设定一个其值不会也不应该改变的数据标识符(数据名字),比如数学上的“pi”。
$pi = 3.14; //这是变量
define(“PI”, 3.14); //这是定义一个常量,名字为“PI”,值为3.14,这里也就类似赋值
常量定义的同时也就是赋值,且只是这一次性的!
常量和变量的区别:
基本类型(标量类型):
布尔类型(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”
$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 つのコピーをコピーし、別の変数に値を代入します。これは、同じアドレスの 1 つを指す (対応する) 2 つの変数に相当します。このアドレスはアドレスでもあります。データの場所を表します。このとき、2つの変数の値が等しいということは、2つの変数が実際に共通のデータを参照していることも意味する。デフォルトでは、php では、オブジェクトタイプとリソースタイプは参照によって渡されます。
ただし:
デフォルトで転送されるデータを人為的に使用して、基準送信値を使用することもできます。構文は次のとおりです:
変数 1 = & 変数 2;
例:$v1 = 10;
️ $v2
$v1++;echo $v2;
jsを比較:
jsではデフォルト値の引き継ぎ方法のみで人為的な設定方法はありません
js の場合: デフォルト値の転送のタイプは次のとおりです: 数値、文字、ブール値、2 つの特殊なタイプ
デフォルトで参照される値のタイプは次のとおりです: 配列、オブジェクト
オペレーター:
l 算術演算子: + - * / % ++ --
+ 記号は「算術演算」のみを実行し、二重の意味はありません。
l 比較演算子: == != >= fae684d0681e3a62f0fda28abdec898b>(右シフト)
ビットごとの OR |: 対応するビットの 1 つの数値が 1 である限り、結果は 1 になります
在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)列