php基础学习笔记(12),php基础学习笔记12
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,这里也就类似赋值
常量定义的同时也就是赋值,且只是这一次性的!
常量和变量的区别:
- 常量前面没有美元符号($)
- 常量只能用 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中,简单数据类型和数组以及空类型使用值传递。
引用传递(引用传值):将一个变量多代表的“地址”复制一份然后赋值给另一个变量,也就是相当于两个变量同时指向(对应)一个相同的地址——此地址也就代表数据的位置。此时两个变量值相等的同时,也表示这两个变量其实指代的是一份共同的数据。
默认情况下,在php中,对象类型以及资源类型使用引用传递。
不过:
我们也可以人为将默认使用赋值传递的数据来使用引用传值。语法是:
变量1 = &变量2;
举例:
$v1 = 10;
$v2 = &$v1; //$v1和$v2此时代表“一个数据内容”
$v1++;
echo $v2;
对比js:
js中,只有默认传值方式,没有人为设定方式
js中:默认值传递的类型有:数字,字符,布尔,两个特殊类型
默认引用传值的类型有:数组, 对象
运算符:
l 算术运算符: + - * / % ++ --
- +号只做“算术运算”,没有双重含义。
- ++ --符号含义和用法完全同js。
l 写在变量前,则:先自加(自减),再做其他运算(比如赋值)
l 写在变量后,则:先做其他运算(比如赋值),再自加(自减)
- %号只对整数进行取与运算,如果不是整数,会先自动转为整数再取余
l 比较运算符:== != > >= < <= ===(全等于) !==(不全等于)
- ==通常表示“模糊相等”,===表示精确相等(只有数据类型和数据值都一样才等)
- 模糊相等的各种情况请查手册:附录〉类型比较表
l 条件运算符:(expr1) ? (expr2) : (expr3),例:
- 含义:对表达式exp1进行求值判断,判断结果如果是true,则整个表达式的结果就是exp2,否则整个表达式的结果是exp3
- $v1 = $fs>60 ? "及格" : "补考" ; //则v1根据fs的值有两个情况
- 补充知识:一元运算符有:!, ++, --, ~,, 二元运算符就是我们用得最多的运算符,三元运算符就这一个。
l 逻辑运算符:&&(与) ||(或) ! (非)
- 逻辑与&&: 只两个数据都是true的时候,结果才是true
- 逻辑或||: 只要有一个数据是true的时候,结果就是true
- 逻辑非!: 取逻辑数据的相反值。
l 字符串运算符:. (即英文句号) .=(即类似“+=”)
- .=只是一个“简写法”而已,$v1 = $v1 . “abc”; è $v1 .= “abc”;
l 位运算符:&(与) |(或) ~(非) ^(异或) <<(左移) >>(右移)
- 位运算符都是针对数字的二进制来进行的。
- 按位与&:只有两个对应位上的数字都是1的时候结果才是1
- 按位或|:只要有一个对应位上的数字是1,结果就是1
- 按位非~:取反,即1变成0,0变成1
- 按位异或^:两个对应位上的数字不同的时候结果就是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)列

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
