瞭解PHP 瞭解神器: PhpStudy 一鍵搭建PHP環境 語法: PHP是一種可以嵌套在HTML頁面的腳本語言 嵌套HTML文件: PHP同時也可以以 “ .php” 文件單獨保存和被訪問,但是在php文件中,也必須以 “”結束!php代碼只會在這裡被執行和解析 PHP對大小寫敏感識別 PH ...
瞭解PHP
- 瞭解神器:PhpStudy 一鍵搭建PHP環境
語法:
PHP是一種可以嵌套在HTML頁面的腳本語言
嵌套HTML文件:
<!DOCTYPE html> <html> <head> <title>PHP</title> </head> <body> <?php // php代碼; ?> </body> </html>
PHP同時也可以以 “*.php” 文件單獨保存和被訪問,但是在php文件中,也必須以 “< ? " 開頭, ”?>”結束!php代碼只會在這裡被執行和解析
- PHP對大小寫敏感識別
PHP支持目前主流的三種註釋:雙斜杠,“#”號,多行註釋
變數:
變數規則:
- 變數以$符號開頭
變數名必須字母或下劃線開頭,由數字、字母、下劃線組成變數名
PHP沒有創建變數名的命令,變數賦值的過程就是創建的過程
作用域:
local(局部):只允許自己語法結構的語句訪問(函數內部聲明)
global(全局):允許當前PHP程式中所有的語法結構內的語句訪問(函數之外聲明)
全局變數訪問:
global關鍵字用於在函數內訪問全局變數,在內部函數中訪問全局變數必須在訪問前使用global關鍵字。
<?php $x = 5 ; $y = 10 ; function myTest(){ global $x , $y ; $y = $x + $y ; } myTest(); echo $y ; ?>
static(靜態):變數執行的結果,下一回合不複位
靜態訪問:
在變數聲明時,添加static聲明,就可以在多次訪問該變數而變數的變化不複位
<?php function myTest(){ static $x = 0 ; echo $x ; $x ++ ; } myTest(); myTest(); myTest(); ?>
輸出:
echo輸出:
- 可以輸出一個以上的字元串
<?php
echo '<p>Hello,World!</p>';
?>
print輸出:
數據類型:
字元串:
- 字元串是字元序列,引號內的文本都屬於字元串
整數:
- 沒有小數的數字組合(包括負數)
浮點數:
- 不是整數的所有數字組合,以及科學計數
布爾邏輯數:
- true和false
數組:
一個變數中存儲一個或多個值
數組創建使用關鍵字“array”
<?php $cars = array ("HUAWEI","China","GO!")s var_dump($cars);//返回數組的類型和值 ?> // 運行結果 // “array(3) { [0]=> string(6) "HUAWEI" [1]=> string(5) "China" [2]=> string(3) "GO!" }”
關鍵字:var_dump 返回數組的大小,每一個參數值的數據類型等信息
對象:
使用 “class” 關鍵字聲明對象數據類型
<?php class Car { var $color ; function Car($color = "green") { $this -> color = $color; } function what_color(){ return $this->color; } } ?>
NULL值:
- 表示變數為空值(將值設置為null,代表清空變數值)
判斷數據類型:
var_dump():
- 列印變數的類型和值
- 語法:void var_dump(mixed $expression)
無返回值
iS函數:
- is_bool():判斷是否為布爾值
- is_float():判斷是否為浮點型
- is_int():判斷是否為整型
- is_numeric():判斷是否為數值型
- is_string():判斷是否為字元串
- is_array():判斷是否為數組
- is_object():判斷是否為對象
- is_null():判斷是否為空
- is_resource():判斷是否為資源類型
isset():
- 檢查變數是否存在
- 返回:變數存在返回 true
empty():
- 檢查變數是否為空(isset()只可以檢測是否存在)
- 返回:變數存在且非空 返回false(var = null 才認為是空)
PHP系統常量:
系統常量 | 說明 |
---|---|
__ FILE __ | PHP程式文件名 |
__ LINE __ | PHP程式當前行號 |
PHP_VERSION | PHP程式版本號 |
PHP_OS | 操作系統名稱 |
TRUE | 真 |
FALSE | 假 |
E_ERROR | 最近的錯誤 |
E_WARNING | 最近的警告 |
E_PARSE | 解析語法潛在問題 |
E_NOTICE | 不正常的錯誤 |
運算符:
算術運算符:
// + - * / % ++ --
加 減 乘 除 模 自加 自減
字元串運算符:
字元串連接符: .(點)
連接等於:. = (點 等於)
賦值運算符:
賦值: =
減等: -=
加等: +=
乘等:*=
除等:/=
取餘等:%=
比較運算符:
大於、小於、大於等於、小於等於、等於、不等於
全等於:===
不全等:! ==
邏輯運算符:
邏輯與: and &&
邏輯或: or ||
邏輯非: not !
三元運算符:
條件運算符: ?:
錯誤抑制操作符:
符號: @
在可能會產生錯誤的語句前使用,可以抑制報錯
命令執行操作符:
符號:*
(反單引號) 》和 ~ 在同一個鍵位
該操作符可以在OS上直接執行操作命令(echo輸出命令後才可以在系統上執行)
控制結構:
if分支條件:
略
Switch條件語句:
略
While迴圈:
略
do…while迴圈:
略
for迴圈:
略
控制函數:
略(break/continue)
數值的傳遞:*
賦值傳遞:(兩個都不同的記憶體地址)
$a = $b ;
引用賦值:(兩個變數同一個地址)
$a = &$b ;
數組:
數組類型:
- 枚舉數組:索引下標為整數
- 關聯數組:索引下標為字元串
- 多維數組:數組元素是數組
創建數組:
關鍵字:array() 創建數組
- 標識符:
- $arr[key] = value ;
- $arr[] = value ;
數組函數:
print_r():列印變數信息
unset():刪除數組元素
foreach():遍曆數組元素
array_shift():
- 將數組的第一個單元格移出並作為結果返回
array_pop():
- 將數組的最後一個單元元素移出並返回
array_unshift():
- 在數組最前面插入一個或多個元素
array_push():
- 在數組的尾部插入一個或多個元素
array_values():
- 返回數組中所有的值並建立數字索引
count():計算數值屬性個數
array_sum():計算數值的和
array_reverse():返回一個反轉數組
list():將數組元素賦值給變數
<?php
$IntArray = array(2,5,9,13,7,9,21,7,9,24,38) ;
$MAX = $IntArray[0];
$MIN = $IntArray[0];
$MAX_i = $MIN_i = 0;
for ($i=0; $i < count($IntArray) ; $i++) {
if ($MAX < $IntArray[$i]) {
$MAX = $IntArray[$i] ;
$MAX_i = $i ;
}
if ($MIN > $IntArray[$i]) {
$MIN = $IntArray[$i] ;
$MIN_i = $i ;
}
}
echo "Array_MAX:".$MAX."<br />MAX_i=".$MAX_i ;
echo "<br /><br />";
echo "Array_MIN:".$MIN."<br />MIN_i=".$MIN_i ;
echo "<hr />";
// 位置交換
echo "位置交換前:".print_r($IntArray) ;
$M = $IntArray[$MIN_i] ;
$IntArray[$MIN_i] = $IntArray[$MAX_i] ;
$IntArray[$MAX_i] = $M ;
echo "<br />";
echo "位置交換後:".print_r($IntArray) ;
echo "<hr />";
// 反轉數組
echo print_r(array_reverse($IntArray));
?>
超全局變數:
元素/代碼 | 描述 |
---|---|
$_SERVER['PHP_SELF'] | 返回當前執行腳本的文件名。 |
$_SERVER['GATEWAY_INTERFACE'] | 返回伺服器使用的 CGI 規範的版本。 |
$_SERVER['SERVER_ADDR'] | 返回當前運行腳本所在的伺服器的 IP 地址。 |
$_SERVER['SERVER_NAME'] | 返回當前運行腳本所在的伺服器的主機名(比如 www.w3school.com.cn)。 |
$_SERVER['SERVER_SOFTWARE'] | 返回伺服器標識字元串(比如 Apache/2.2.24)。 |
$_SERVER['SERVER_PROTOCOL'] | 返回請求頁面時通信協議的名稱和版本(例如,“HTTP/1.0”)。 |
$_SERVER['REQUEST_METHOD'] | 返回訪問頁面使用的請求方法(例如 POST)。 |
$_SERVER['REQUEST_TIME'] | 返回請求開始時的時間戳(例如 1577687494)。 |
$_SERVER['QUERY_STRING'] | 返回查詢字元串,如果是通過查詢字元串訪問此頁面。 |
$_SERVER['HTTP_ACCEPT'] | 返回來自當前請求的請求頭。 |
$_SERVER['HTTP_ACCEPT_CHARSET'] | 返回來自當前請求的 Accept_Charset 頭( 例如 utf-8,ISO-8859-1) |
$_SERVER['HTTP_HOST'] | 返回來自當前請求的 Host 頭。 |
$_SERVER['HTTP_REFERER'] | 返回當前頁面的完整 URL(不可靠,因為不是所有用戶代理都支持)。 |
$_SERVER['HTTPS'] | 是否通過安全 HTTP 協議查詢腳本。 |
$_SERVER['REMOTE_ADDR'] | 返回瀏覽當前頁面的用戶的 IP 地址。 |
$_SERVER['REMOTE_HOST'] | 返回瀏覽當前頁面的用戶的主機名。 |
$_SERVER['REMOTE_PORT'] | 返回用戶機器上連接到 Web 伺服器所使用的埠號。 |
$_SERVER['SCRIPT_FILENAME'] | 返回當前執行腳本的絕對路徑。 |
$_SERVER['SERVER_ADMIN'] | 該值指明瞭 Apache 伺服器配置文件中的 SERVER_ADMIN 參數。 |
$_SERVER['SERVER_PORT'] | Web 伺服器使用的埠。預設值為 “80”。 |
$_SERVER['SERVER_SIGNATURE'] | 返回伺服器版本和虛擬主機名。 |
$_SERVER['PATH_TRANSLATED'] | 當前腳本所在文件系統(非文檔根目錄)的基本路徑。 |
$_SERVER['SCRIPT_NAME'] | 返回當前腳本的路徑。 |
$_SERVER['SCRIPT_URI'] | 返回當前頁面的 URI。 |
函數:
- 關鍵字:function name() { …… }
函數參數:
值傳遞參數:
在函數調用的時候,允許傳遞參數值給函數,函數可以自由使用參數進行操作
引用傳遞參數:
如果希望函數可以修改參數值,可以使用引用參數進行傳遞
引用傳遞,只需要在參數前加上 “&” 符號就可以
$arr = array(1,2,3,4); function addElement(&$arr){ $arr[count($arr)] = 100; print_r($arr); //在函數內輸出$arr } addElement($arr); print_r($arr); //在函數外輸出
預設值傳遞:
function hobby($who,$style=‘運動’){ echo “$who 喜歡 $style”; } hobby(“張三”,“唱歌”); hobby(“張三”);
global關鍵字:
引用函數外部的參數(引用傳遞性質的參數)
$name = "Mary";//初始化變數 function getName(){ global $name; //引入外部的變數 echo "我的名字叫:$name"; } getName();
內置函數:
- echo語句:輸出
- print語句:輸出
include語句:包含並運行指定文件
require語句:包含並運行指定文件