PHP|學習筆記

什麼是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 變量中的重要元素含義感興趣可自己瞭解瞭解)

未完待續…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章