標籤:
以下內容均來自http://www.w3school.com.cn/php/
感謝w3chool提供的學習平台。贊。
PHP學習:
1.PHP的片段
<?php>
....
<?>
2.三種注釋方式:
2.1 //...
2.2 #...
2.3 /*....
...*/
3.函數,類,關鍵字的大小寫不敏感
echo === EcHo
4.所有變數對大小寫敏感
$value != $valUE
5.PHP 變數規則:
5.1 變數以 $ 符號開頭,其後是變數的名稱
5.2 變數名稱必須以字母或底線開頭
5.3 變數名稱不能以數字開頭
5.4 變數名稱只能包含字母數字字元和底線(A-z、0-9 以及 _)
5.5 變數名稱對大小寫敏感($y 與 $Y 是兩個不同的變數)
6.PHP 有三種不同的變數範圍:
6.1 local(局部)
6.2 global(全域)
6.3 static(靜態)
7.Local 和 Global 範圍
7.1 函數之外聲明的變數擁有 Global 範圍,只能在函數以外進行訪問。
7.2 函數內部聲明的變數擁有 LOCAL 範圍,只能在函數內部進行訪問。
8.PHP global 關鍵詞
8.1 global 關鍵詞用於訪問函數內的全域變數。(要做到這一點,請在(函數內部)變數前面使用 global 關鍵字)
9.PHP static 關鍵詞
通常,當函數完成/執行後,會刪除所有變數。不過,有時我需要不刪除某個局部變數。實現這一點需要更進一步的工作。
要完成這一點,請在您首次聲明變數時使用 static 關鍵詞.
10.PHP echo 和 print 語句
echo 和 print 之間的差異:
echo - 能夠輸出一個以上的字串 (echo "This", " string", " was", " made", " with multiple parameters.";)
print - 只能輸出一個字串,並始終返回 1 (print "I‘m about to learn PHP!";)
提示:echo 比 print 稍快,因為它不返回任何值。
11.PHP 邏輯是 true 或 false。
$x=true;
$y=false;
12.PHP 數組
數組在一個變數中儲存多個值。
$cars=array("Volvo","BMW","SAAB");
13.PHP 對象
在 PHP 中,必須明確地聲明對象。
首先我們必須聲明對象的類。對此,我們使用 class 關鍵詞。類是包含屬性和方法的結構。
然後我們在對象類中定義資料類型,然後在該類的執行個體中使用此資料類型:
執行個體
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
14.PHP NULL 值
特殊的 NULL 值表示變數無值。NULL 是資料類型 NULL 唯一可能的值。
NULL 值標示變數是否為空白。也用於區分Null 字元串與空值資料庫。
可以通過把值設定為 NULL,將變數清空
15.字串操作函數
15.1 PHP strlen() 函數, strlen() 函數返回字串的長度,以字元計。
<?php
echo strlen("Hello world!");
?>
15.2PHP strpos() 函數
strpos() 函數用於檢索字串內指定的字元或文本。
如果找到匹配,則會返回首個匹配的字元位置。如果未找到匹配,則將返回 FALSE。
<?php
echo strpos("Hello world!","world"); //output:6
?>
16.PHP 常量
16.1 常量是單個值的標識符(名稱)。在指令碼中無法改變該值。
有效常量名以字元或底線開頭(常量名稱前面沒有 $ 符號)。
與變數不同,常量貫穿整個指令碼是自動全域的。
16.2設定 PHP 常量
如需設定常量,請使用 define() 函數 - 它使用三個參數:
1)首個參數定義常量的名稱
2)第二個參數定義常量的值
3)可選的第三個參數規定常量名是否對大小寫敏感。預設是 false(敏感) true(不敏感)。
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
17.PHP運算子
17.1 加減乘除,模與其他語言沒有差別。
17.2 字串運算子:
1) . 串接
$txt1 = "Hello"
$txt2 = $txt1 . " world!" //現在 $txt2 包含 "Hello world!"
2) .= 串接賦值
$txt1 = "Hello"
$txt1 .= " world!" //現在 $txt1 包含 "Hello world!"
17.3 比較子
比較子與其它語言基本一致。特殊的幾個:
=== 全等(完全相同) $x === $y 如果 $x 等於 $y,且它們類型相同,則返回 true。
!== 不全等(完全不同) $x !== $y 如果 $x 不等於 $y,且它們類型不相同,則返回 true。
代碼:
$x=100;
$y="100";
var_dump($x == $y); // 因為值相等,返回 true
echo "<br>";
var_dump($x === $y); // 因為類型不相等,返回 false
echo "<br>";
var_dump($x != $y); // 因為值相等,返回 false
echo "<br>";
var_dump($x !== $y); // 因為值不相等,返回 true
echo "<br>";
17.4 邏輯運算子
與其它語言保持一致。注意幾點:
and <===> &&
or <===> ||
17.5 數組運算子 (用於數組的比較)
+ 聯合 $x + $y $x 和 $y 的聯合(但不覆蓋重複的鍵)
== 相等 $x == $y 如果 $x 和 $y 擁有相同的鍵/值對,則返回 true。
=== 全等 $x === $y 如果 $x 和 $y 擁有相同的鍵/值對,且順序相同類型相同,則返回 true。
!= 不相等 $x != $y 如果 $x 不等於 $y,則返回 true。
<> 不相等 $x <> $y 如果 $x 不等於 $y,則返回 true。
!== 不全等 $x !== $y 如果 $x 與 $y 完全不同,則返回 true。
17.6 邏輯控制,迴圈
邏輯控制的if else elseif 與其它語言保持一致。
迴圈包括:while do..while for foreach($arr as $value) 與其它語言保持一致.
需要注意foreach的使用:
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
18.PHP函數
函數是可以在程式中重複使用的語句塊。
頁面載入時函數不會立即執行。
函數只有在被調用時才會執行。
函數名對大小寫不敏感。
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 調用函數
?>
函數傳參數的執行個體:
<?php
function familyName($fname,$year) {
echo "$fname Zhang. Born in $year <br>";
}
familyName("Li","1975");
familyName("Hong","1978");
familyName("Tao","1983");
?>
函數參數預設值:
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 將使用預設值 50
setHeight(135);
setHeight(80);
?>
19.PHP數組
19.1 基本認識
array() 函數用於建立數組。
在 PHP 中,有三種數群組類型:
1)索引數組 - 帶有數字索引的數組
2)關聯陣列 - 帶有指定鍵的數組
3)多維陣列 - 包含一個或多個數組的數
索引是自動分配的(索引從 0 開始):
$cars=array("Volvo","BMW","SAAB");
執行個體:
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
19.2 數組的操作
count(數組名) 函數用於返回數組的長度(元素數)
數組排序:
sort() - 以升序對數組排序
rsort() - 以降序對數組排序
asort() - 根據值,以升序對關聯陣列進行排序
ksort() - 根據鍵,以升序對關聯陣列進行排序
arsort() - 根據值,以降序對關聯陣列進行排序
krsort() - 根據鍵,以降序對關聯陣列進行排序
19.3 關聯陣列
關聯陣列是使用您分配給數組的指定鍵的數組。
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或者:
$age[‘Peter‘]="35";
$age[‘Ben‘]="37";
$age[‘Joe‘]="43";
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age[‘Peter‘] . " years old.";
?>
遍曆輸出關聯陣列中的所有值:
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
20.超全域變數
PHP 中的許多預定義變數都是“超全域的”,
這意味著它們在一個指令碼的全部範圍中都可用。在函數或方法中無需執行 global $variable; 就可以訪問它們。
這些超全域變數是:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
執行個體1:關於$GLOBALS
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS[‘z‘] = $GLOBALS[‘x‘] + $GLOBALS[‘y‘];
}
addition();
echo $z; //100
?>
其餘超全域變數後面再學習。
PHP 學習(一)