什麼是PHP
PHP基本語法
變量
- 變量以$開始,後面跟變量的名稱
- 變量名稱的命名規則和C語言一致(區分大小寫,但是值得注意的是一般在命名的時候不建議以下劃線開頭,因爲一般以下劃線開頭的變量通常都是系統自帶的變量)
-PHP中沒有聲明變量的命令,變量是在第一次賦值給他的時候被創建的 - PHP中有四種不同的變量作用域:
local:局部變量
global:如果一個全局變量要被在一個函數中使用的時候,使用global修飾
static:靜態作用域(用法和C語言一致)
parameter:形參
範例:局部變量和全局變量
<?php
$x=5;//全局變量
function mytest(){
$y=10;//局部變量
}
mytest();
echo $x;
?>
範例:global關鍵字的用法
<?php
global $x=5;//全局變量
function mytest(){
$y=10;//局部變量
$x=10;//全局變量x如果沒有被glogal修飾,那麼就不能在函數中使用
}
mytest();
echo $x;
?>
PHP將所有全局變量存儲在一個命名爲**$GLOBALS[index]的數組中,index保存的是全局變量的名稱。這個數組可以在函數內部被訪問**,也可以直接用來更新全局變量。
範例:GLOBALS數組的使用
<?php
static $x=5;
$y=10;
function mytest(){
$GLOBALS['x']=$GLOBALS['x']+$GLOBALS['y'];
}
mytest();
echo $x;
?>
範例:static的使用
<?php
function mytest(){
static $x=0;
echo $x;
$x++;
}
mytest();
mytest();
mytest();
?>
範例:形參
<?php
static $x=0;
function mytest($s){
echo $s;
}
mytest(5);
?>
輸出語句
echo -可以輸出一個或者多個字符串
print -只能輸出簡單類型變量的值,如int,string
print_r -可以輸出複雜類型變量的值,如數組,對象
echo比print快,echo是PHP語句,沒有返回值,print(返回值類型是int)和print_r(返回值類型是boolean)是PHP函數。
範例:echo的使用(可以加括號也可以不加括號)
<?php
$sz=array("你好","我好","大家好");
echo "我說:{$sz[0]}";
echo ("我加括號啦");
echo "1","2","這是一個",2," ",1.2;
?>
範例:print的使用(可以加括號也可以不加括號)
<?php
$sz=array("你好","我好","大家好");
print "我說:{$sz[0]}";
print ("我加括號啦");
print 1.2;
//print "1","2","這是一個",2," ",1.2;//運行不通過
?>
範例:print_r的使用(必須加括號)
小提示:輸出簡單類型原樣輸出,輸出對象或者數組將會按照一定格式顯示鍵和元素。
print_r()會將把數組的指針移到最後邊,使用 reset() 可讓指針回到開始處。
<?php
$sz=array("你好","我好","大家好");
$str="纔是真的好";
print_r($sz);
print_r($str);
?>
數據類型
1.字符串(String):放在單引號或者雙引號中。
2.整型(Integer):整型可以用三種格式來指定:十進制, 十六進制( 以 0x 爲前綴)或八進制(前綴爲 0)。
3.浮點型(Float):浮點數是帶小數點的數字或者是指數形式。
4.布爾型(Boolean):true或者false
5.數組(Array):可以在一個變量中存儲多個值。
6.對象(Object):必須使用class關鍵字聲明類對象。
7.空值(NULL):NULL值表示一個變量的值爲空值。NULL是數據類型爲NULL的值。
範例:三種數據格式
var_dump();//返回數據類型和值
<?php
$num1=123;//十進制
var_dump($num1);
echo $num1;
echo "\n";
$num2=0x10;//十六進制
var_dump($num2);
echo $num2;
echo "\n";
$num3=010;//八進制
var_dump($num3);
echo $num3;
?>
範例:浮點型
<?php
$x = 10.3651111111;//精度超出範圍會自動捨去一部分
var_dump($x);
echo "\n";
$x = 2.4e20;//指數超過一定 範圍就會按科學記數法原樣輸出
var_dump($x);
echo "\n";
$x = 8E-5;
var_dump($x);
?>
範例:數組
<?php
$nums=array(1,"我在中間",2.1);
var_dump($nums);
?>
範例:對象
<?php
class Car
{
var $color;
function Car($color="green")
{
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
function print_vars($obj) {
foreach (get_object_vars($obj) as $prop => $val) {
echo "$prop = $val";
}
}
$herbie = new Car("white");
print_vars($herbie);
?>
範例:
<?php
$x=11111;
$x=null;//設置變量值爲NULL來清空變量數據
var_dump($x);//NULL
?>
常量
常量被定義後,將不能在被改變。
設置常量:define(string constant_name, mixed value, case_sensitive = true)
三個參數:
- constant_name:必選參數,常量名稱,即標誌符。
value:必選參數,常量的值。
case_sensitive:可選參數,指定是否大小寫敏感,設定爲 true 表示不敏感(默認false)。
範例:常量定義
<?php
define("ABC1","我是區分大小寫");
echo ABC1;
define("ABC1","我是不區分大小寫",true);
echo abc1;
?>
字符串變量
範例:.:並置運算符
<?php
$str1="最近好嗎?";
$str2="最近很好...";
echo $str1.$str2;
?>
1.strlen():字符串值的長度
2.strpos():在字符串內查找一個字符或一段指定的文本(如果在字符串中找到匹配,該函數會返回第一個匹配的字符位置。如果未找到匹配,則返回 FALSE。)
運算符
<?php
var_dump(100=="100");
var_dump(100==="100");
var_dump(100!="100");
var_dump(100!=="100");
?>
數組
1.數值數組
帶有數字ID鍵的數組
<?php
//兩種創建數組的方式
$nums=array();
$nums[0]="qwe";
$nums[1]="rty";
$nums[2]="uio";
$num=array("zx","cv","bn");
$len=count($num);
for($x=0;$x<$len;$x++){
echo $num[$x];
}
?>
關聯數組
帶有指定的鍵的數組,每個鍵關聯一個值
<?php
//兩種創建數組的方式
$nums=array();
$nums["peter"]="qwe";
$nums["weter"]="rty";
$nums["zeter"]="uio";
$num=array("peter"=>"zx","weter"=>"cv","zeter"=>"bn");
$len=count($num);
foreach($num as $x=>$x_value){
echo "key=".$x.","."value=".$x_value;
echo"\n";
}
?>
多維數組
//後面再學習
foreach
提示:foreach 語法結構提供了遍歷數組的簡單方式。foreach 僅能夠應用於數組和對象,如果嘗試應用於其他數據類型的變量,或者未初始化的變量將發出錯誤信息。
foreach(array_expression as $value){
}
foreach(array_expression as $key=>$value){
}
對數組的排序
超級全局變量
超級全局變量是在全部作用域中始終可用的內置變量。
PHP中預定義了幾個超級全局變量(superglobals) ,這意味着它們在一個腳本的全部作用域中都可用。 你不需要特別說明,就可以在函數及類中使用。
$GLOBALS
$GLOBALS 是PHP的一個超級全局變量數組,在一個PHP腳本的全部作用域中都可以訪問。
$GLOBALS 是一個包含了全部變量的全局組合數組。變量的名字就是數組的鍵。
<?php
$x = 75;
$y = 25;
function addition()
{
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
$_SERVER
$_SERVER 是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數組。這個數組中的項目由 Web 服務器創建。不能保證每個服務器都提供全部項目;服務器可能會忽略一些,或者提供一些沒有在這裏列舉出來的項目。
範例:
<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
($_SERVER 變量中的重要元素含義感興趣可自己瞭解瞭解)
未完待續…