php基础入门篇学习笔记,php入门篇学习笔记
本文章详细的介绍了在php学习中的最基础的内容包括了基本数据类型、变量类型、操作符等入门都会要接触到的东西。
-
php支持的基本数据类型:
Integer:整数
Float(Double,双精度值):浮点数,表示所有实数
String:字符串
Boolean:布尔值,true/false
Array:保存具有相同类型的多个数据项
Object:对象,保存类的实例
NULL:没有被赋值、已经被重置或被赋值为特殊值NULL的变量
特定的内置函数(例如数据库函数)将返回resource类型的变量
四种标量类型:
string(字符串)
integer(整型)
float(浮点型,也作 double )
boolean(布尔型)
两种复合类型:
array(数组)
object(对象)
两种特殊类型:
resource(资源)
NULL(空)
查看变量类型
通过 gettype() 函数可以方便的查看某个变量的类型:
代码如下 复制代码
$var_bool = TRUE; // a boolean
$var_str = "foo"; // a string
$var_int = 12; // an integer
echo gettype($var_bool); // 输出 boolean
echo gettype($var_str); // 输出 string
echo gettype($var_int); // 输出 integer
?>
提示
由于历史原因,如果是 float 类型数据,gettype() 函数返回的是 double,而不是 float 。
如果想查看某个表达式的值和类型,请使用用 var_dump() 函数。
判断变量类型
如果想通过判断变量类型来确定下一步逻辑动作,不要使用 gettype() ,而使用 is_type 系列函数:
代码如下 复制代码
$var_int = 12;
// 如果 $var_int 是 int 类型,这进行加法
if (is_int($var_int)) {
$var_int = $var_int+4;
}
echo $var_int; // 输出 16
?>
NULL和resource都代表外部资源,例如数据库连接
基本上不能直接操作一个resource变量,但是通常它们都将被函数返回,而且必须作为参数传递给其他函数。
在php中,变量的类型是由赋给变量的值确定的。(动态类型语言)
PHP可以在任何时间根据保存在变量中的值来确定变量的类型,也就是具有在任何时间透明地改变变量类型的功能。
PHP将“自动地”获得输入的数据类型,一旦从变量中检索变量值,它将返回具有相同数据类型的数据。
养成习惯:常量名称都是由大写字母组成的。这样容易区分变量和常量。
常量和变量之间的一个重要不同点在于引用一个常量的时候,它前面并没有$符号。
常量和变量的另一个差异在于常量只可以保存布尔值、整数、浮点数或字符串数据,这些类型都是标量数据。
变量类型变化(juggling)
PHP不需要(或者说不支持)在声名变量明确他的变量类型;一个变量的类型是由这个变量被使用的前后关系来决定的,也就是说,如果你给一个变量var赋了 一个字符串的值,var就变成了字符串变量。如果你再将一个整数赋值给var,他又变成了一个整数型变量。 一个PHP自动转化变量类型的例子是加法的操作符’+’。如果任何一个操作数都是双精度数,那么所有的操作数被当作双精度数求值,并且结果也是双精度数。 否则,操作数将被认为是整数,结果也将会是整数。注意这并不影响每个操作数本身的变量类型,唯一的变化就是操作数在计算的过程中被如何处理。 $foo = "0"; // $foo 是一个字符串 ,值是“0”(ASCII 48)
PHP代码
代码如下 复制代码
$foo = "http://www.hzhuti.com/HTC/G11/"; // $foo 是一个字符串 ,值是“0”(ASCII 48)
$foo++; // $foo 是一个字符串,值是“1”(ASCII 49)
$foo += 1; // $foo 现在是一个整数(2)了
$foo = $foo + 1.3; // $foo 现在是一个双精度数(3.3)了
$foo = 5 + "10 Little Piggies"; // $foo 是一个整数 (15)
$foo = 5 + "10 Small Pigs"; // $foo 是一个整数 (15)
如果你觉得上面例子中最后两个表达式看起来有点奇怪的话,请看 “字符串的转化”部分。 如果你希望强制一个变量被当作某种固定的类型来计算,请看 “类型强制(casting)” 一节。如果你希望转变一个变量的类型,请看函数“settype()”的说明。
确定一个变量的类型
因为PHP自己决定变量的类型并且一般按照需要转化他们,一个特定的变量的类型不是在任何时间都非常明显。PHP包括一些函数可以找出这个变量的类型。这 些函数是gettype(), is_long(), is_double(), is_string(), is_array(), 和 is_object().
类型强制(type casting)
在PHP中类型强制同在C语言中大抵相似:将需要的类型的种类写在要强制的变量的前面的圆括号中。
PHP代码
代码如下 复制代码
$foo = 10; // $foo 是一个整数
$bar = (double) $foo; // $bar 是一个双精度数
以下的强制方式是允许的: (int), (integer) – 强制成整数 (real), (double), (float) – 强制成双精度数 (string) – 强制成字符串 (array) – 强制成数组 (object) – 强制成对象 注意在圆括号中允许制表符(tabs)和空格(spaces) ,因此下面的语句是等价的: $foo = (int) $bar; $foo = ( int ) $bar;
字符串转化
当一个字符串被当作数字型的值来计算时,他的结果和类型如下面所述的决定。 如果这个字符串含有字符’.’,’e’,或者’E’,则被当作双精度类型变量来处理,否则当作是整数。 这个字符串的值由词首部分决定。如果这个字符串以任何有效的数字的数据开始,那么这个数字数据就是这个字符串参加运算的值。否则,值为零(zero)。有 效的数字数据是遵循下面的这些标记的,跟随在一个或多个数字后面(可以包含小数点),跟随在一个可选的指数后面。指数是由一个或多个数字跟在’e’或 ’E’后面构成的。
PHP代码
代码如下 复制代码
$foo = 1 + "10.5"; // $foo 是双精度数 (11.5)
$foo = 1 + "-1.3e3"; // $foo 是双精度数(-1299)
$foo = 1 + "bob-1.3e3"; // $foo 是整数 (1)
$foo = 1 + "bob3"; // $foo 是整数 (1)
$foo = 1 + "10 Small Pigs"; // $foo 是整数 (11)
$foo = 1 + "10 Little Piggies"; // $foo 是整数 (11);
// 这个字符串包括字符'e'
标识符
操作符:
1)赋值操作符:=
2)算术操作符:+,-,*,/,%(取模)
3)连接操作符:. ,无论操作数是什么,都当成String,结果返回String
4)合计赋值操作符(Combined Assignment Operators):+=,*=,/=,-=,%=,.=
5)自动增减操作符(Automatically Incrementing and Decrementing):
(1)$variable+=1 ⇔$variable++;$variable-=1 ⇔$variable-,跟c语言一样,先做其他操作,后++或-
(2)++$variable,-$variable,先++或-,再做其他操作
6)比较操作符:
= =(左边等于右边),!=(左边不等于右边),
= = =(左边等于右边,且数据类型相同),
>=,>,
7)逻辑操作符:|| or,&& and,xor(当左右两边有且只有一个是true,返回true),!
一个参考表
运算符(Arithmetic Operators) Operator
符号 Description
描述 Example
案例 Result
结果
+ Addition
加号 x=2
x+2 4
- Subtraction
减号 x=2
5-x 3
* Multiplication
乘号 x=4
x*5 20
/ Division
除号 15/5
5/2 3
2.5
% Modulus (division remainder)
求模(余数) 5%2
10%8
10%2 1
2
0
++ Increment
自加 x=5
x++ x=6
-- Decrement
自减 x=5
x-- x=4
Assignment Operators
分配符(Assignment Operators)
Operator
符号 Example
案例 Is The Same As
等同于
= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
%= x%=y x=x%y
Comparison Operators
比较符(Comparison Operators)
Operator
符号 Description
具体描述 Example
案例
== is equal to
等于 5==8 返回 false
!= is not equal
不等于 5!=8 返回 true
> is greater than
大于 5>8 返回 false
小于 5>= is greater than or equal to
大于等于 5>=8 返回 false
小于等于 5
Logical Operators
逻辑判断符(Logical Operators)
Operator
符号 Description
描述 Example
案例
&& and
与 x=6
y=3
(x 1) 返回 true
|| or
或 x=6
y=3
(x==5 || y==5) 返回 false
! not
非 x=6
y=3
!(x==y)返回true
其他操作符:
三元操作符、错误抑制操作符、执行操作符、数组操作符、类型操作符
运算符"?"前的表达式
如果一个包含二元运算符的表达式出现在三元运算符" ? : "的"?"之前,那么应该给表达式添上一对圆括号。例如:
(x >= 0) ? x : -x;
下面我们来看一个简单的?号表达式实例
代码如下 复制代码
$a='http://www.zhutiai.com/zhuti/c7/';
echo $a?'true':'false';
输出结果为 trur;
再看
if( $a )
{
echo 'true';
}
else
{
echo 'false';
}

PHP是一種服務器端腳本語言,用於動態網頁開發和服務器端應用程序。 1.PHP是一種解釋型語言,無需編譯,適合快速開發。 2.PHP代碼嵌入HTML中,易於網頁開發。 3.PHP處理服務器端邏輯,生成HTML輸出,支持用戶交互和數據處理。 4.PHP可與數據庫交互,處理表單提交,執行服務器端任務。

PHP在過去幾十年中塑造了網絡,並將繼續在Web開發中扮演重要角色。 1)PHP起源於1994年,因其易用性和與MySQL的無縫集成成為開發者首選。 2)其核心功能包括生成動態內容和與數據庫的集成,使得網站能夠實時更新和個性化展示。 3)PHP的廣泛應用和生態系統推動了其長期影響,但也面臨版本更新和安全性挑戰。 4)近年來的性能改進,如PHP7的發布,使其能與現代語言競爭。 5)未來,PHP需應對容器化、微服務等新挑戰,但其靈活性和活躍社區使其具備適應能力。

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

PHP沒有死。 1)PHP社區積極解決性能和安全問題,PHP7.x提升了性能。 2)PHP適合現代Web開發,廣泛用於大型網站。 3)PHP易學且服務器表現出色,但類型系統不如靜態語言嚴格。 4)PHP在內容管理和電商領域仍重要,生態系統不斷進化。 5)通過OPcache和APC等優化性能,使用OOP和設計模式提升代碼質量。

PHP和Python各有優劣,選擇取決於項目需求。 1)PHP適合Web開發,易學,社區資源豐富,但語法不夠現代,性能和安全性需注意。 2)Python適用於數據科學和機器學習,語法簡潔,易學,但執行速度和內存管理有瓶頸。

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP在數據庫操作和服務器端邏輯處理中使用MySQLi和PDO擴展進行數據庫交互,並通過會話管理等功能處理服務器端邏輯。 1)使用MySQLi或PDO連接數據庫,執行SQL查詢。 2)通過會話管理等功能處理HTTP請求和用戶狀態。 3)使用事務確保數據庫操作的原子性。 4)防止SQL注入,使用異常處理和關閉連接來調試。 5)通過索引和緩存優化性能,編寫可讀性高的代碼並進行錯誤處理。

在PHP中使用預處理語句和PDO可以有效防範SQL注入攻擊。 1)使用PDO連接數據庫並設置錯誤模式。 2)通過prepare方法創建預處理語句,使用佔位符和execute方法傳遞數據。 3)處理查詢結果並確保代碼的安全性和性能。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

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

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),