目錄
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();
}