程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP_基礎,php基礎

PHP_基礎,php基礎

編輯:關於PHP編程

PHP_基礎,php基礎


目錄

  • 數組

  • 函數

  • 類和對象

  • 字符串操作

  • 會話控制

  • 時間和日期

  • 異常處理

 

一、數組

  1、索引數組

header("Content-Type: text/html; charset=utf-8");

//創建空數組
$str = array();

//索引數組:數組的鍵是整數的數組,並且鍵的整數順序是從0開始,依次類推。
$fruit = array("蘋果","香蕉","菠蘿");

//索引數組賦值:
//1.用數組變量的名字後面跟一個中括號的方式賦值
$arr[0]='蘋果';
//使用=>符號來分隔鍵和值,左側表示鍵,右側表示值。
array('0'=>'蘋果');

//count($arr)返回數組長度

//for循環訪問索引數組裡的值
for($i=0; $i<count($fruit); $i++){
    echo "$fruit[$i]<br>";
}

//foreach循環訪問索引數組裡的值
foreach($fruit as $k=>$v){
    echo $k."...".$v."<br>";
}

 

  2、關聯數組

header("Content-Type: text/html; charset=utf-8");

//關聯數組:指數組的鍵是字符串的數組
$fruit = array('apple'=>"蘋果", 'banana'=>"香蕉", 'pineapple'=>"菠蘿");

//關聯數組賦值
//1.用數組變量的名字後面跟一個中括號的方式賦值
$arr['apple']='蘋果';
//2.使用=>符號來分隔鍵和值,左側表示鍵,右側表示值
array('apple'=>'蘋果');

//foreach循環訪問關聯數組裡的值
foreach($fruit as $k=>$v){
    echo '<br>水果的英文鍵名:'.$k.',對應的值是:'.$v;
}

 

二、函數

   1.可變函數

//可變函數,通過變量的值來調用函數
function name() {
    echo 'jobs';
}
$func = 'name';
//調用可變函數
$func(); 

 

  2.判斷函數是否存在

function func() {
}
if (function_exists('func')){
    echo 'exists';
}

 

三、類和對象 

//定義一個類
class Car {
    //定義屬性
    public $name = '汽車';
    //定義方法
    public function getName() {
        //方法內部可以使用$this偽變量調用對象的屬性或者方法
        return $this->name;
    }
}
//實例化一個對象
$car = new Car();
//調用對象的方法
echo $car->getName();

//類的屬性
//public:公開的
//protected:受保護的,受保護的屬性不允許外部調用
//private:私有的,私有屬性不允許外部調用

//靜態方法:使用關鍵字static修飾
//靜態方法不需要實例化對象,可以通過類名直接調用,操作符為雙冒號::
class Car {
    public static function getName() {
        return '汽車';
    }
​}
echo Car::getName(); //結果為“汽車”

//構造函數__construct():在每次對象創建的時候調用該函數
//析構函數__destruct():在每次對象銷毀的時候調用該函數
class Car {
    //增加構造函數與析構函數
    function __construct() {
        print "構造函數被調用 \n";
    }
    function __destruct() {
        print "析構函數被調用 \n";
    }
}
$car = new Car();

 

四、字符串操作

  1.單雙引號的區別

//雙引號串中直接包含字串變量
//單引號串中的內容總被認為是普通字符
$str='hello';
echo "str is $str"; //運行結果: str is hello
echo 'str is $str'; //運行結果: str is $str

 

  2.去除字符串首尾的空格

//trim去除一個字符串兩端空格。
//rtrim是去除一個字符串右部空格
//ltrim是去除一個字符串左部空格
trim(" 空格 ");

 

  3.獲取字符串的長度

//英文字符長度
strlen($str);
//中文字符長度
mb_strlen($str,"UTF8");

 

  4.字符串的截取

//英文字符串的截取函數substr()
//substr(字符串變量,開始截取的位置,截取個數)
$str='i love you';
echo substr($str, 2, 4);

//中文字符串的截取函數mb_substr()
//mb_substr(字符串變量,開始截取的位置,截取個數, 網頁編碼)
$str='我愛你,中國';
echo mb_substr($str, 4, 2, 'utf8');

 

 

  5.字符串查找

//strpos(要處理的字符串, 要定位的字符串, 定位的起始位置[可選])
$str = 'I want to study at imooc';
$pos = strpos($str, 'imooc');

 

  6.字符串替換

//str_replace(要查找的字符串, 要替換的字符串, 被搜索的字符串, 替換進行計數[可選])
$str = 'I want to learn js';
$replace = str_replace('js', 'php', $str);

 

  7.字符串的合並與分割

//字符串合並函數implode():把數組元素組合為一個字符串
//implode(分隔符[可選], 數組)
$arr = array('Hello', 'World!');
$result = implode('', $arr);
print_r($result);//結果顯示Hello World!

//字符串分隔函數explode():函數返回由字符串組成的數組
//explode(分隔符[可選], 字符串)
$str = 'apple,banana';
$result = explode(',', $str);
print_r($result);//結果顯示array('apple','banana')

 

五、會話控制

  1.cookie  

//設置cookie
//name( Cookie名)可以通過$_COOKIE['name'] 進行訪問
//value(Cookie的值)
//expire(過期時間)Unix時間戳格式,默認為0,表示浏覽器關閉即失效
//path(有效路徑)如果路徑設置為'/',則整個網站都有效
//domain(有效域)默認整個域名都有效,如果設置了'www.imooc.com',則只在www子域中有效
$value = 'test';
setcookie("TestCookie", $value);
//有效期一小時
setcookie("TestCookie", $value, time()+3600);

// cookie的刪除與過期時間
setcookie('test', '', time()-1);

 

  2.session

//先執行session_start方法開啟session
session_start();

//通過全局變量$_SESSION進行session的讀寫。
$_SESSION['name'] = 'jobs';
echo $_SESSION['name'];

//刪除某個session
unset($_SESSION['name']);
//刪除所有session
session_destroy();

 

 六、時間和日期

//UNIX 時間戳:表示從 1970年1月1日 00:00:00 到當前時間的秒數之和。
//函數 time() 來取得服務器當前時間的時間戳
$time=time();
echo $time;

//date()函數,來取得當前的日期
//date(時間戳的格式, 規定時間戳【默認是當前的日期和時間,可選】)
//設置默認的時區
date_default_timezone_set('Asia/Shanghai');
//輸出1396193923對應的日期
echo date("Y-m-d");

//函數strtotime實現功能:獲取某個日期的時間戳,或獲取某個時間的時間戳
//strtotime(要解析的時間字符串, 計算返回值的時間戳【默認是當前的時間,可選】)
//1398700800,這個數字表示從1970年1月1日 00:00:00 到2014年4月29號經歷了1398700800秒
echo strtotime('2014-04-29');
//1398700801,這個數字表示從1970年1月1日 00:00:00 到2014-04-29 00:00:01時經歷了1398700801秒
echo strtotime('2014-04-29 00:00:01');

 

 

七、異常處理

//創建可拋出一個異常的函數
function checkNum($number){
    if($number>1){
        throw new Exception("異常提示-數字必須小於等於1");
    }
    return true;
}

//在 "try" 代碼塊中觸發異常
try{
    checkNum(2);
    //如果異常被拋出,那麼下面一行代碼將不會被輸出
    echo '如果能看到這個提示,說明你的數字小於等於1';
}catch(Exception $e){
    //捕獲異常
    echo '捕獲異常: ' .$e->getMessage();
}

//Exception具有幾個基本屬性與方法,其中包括了:

//message 異常消息內容
//code 異常代碼
//file 拋出異常的文件名
//line 拋出異常在該文件的行數

//其中常用的方法有:
//getTrace 獲取異常追蹤信息
//getTraceAsString 獲取異常追蹤信息的字符串
//getMessage 獲取出錯信息

class MyException extends Exception {
    function getInfo() {
        return '自定義錯誤信息';
    }
}

try {
    throw new MyException('error');
} catch(Exception $e) {
    echo $e->getInfo();
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved