本文實(shí)例講述了thinkphp5框架擴(kuò)展redis類(lèi)方法。分享給大家供大家參考,具體如下:
成都創(chuàng)新互聯(lián)公司10多年成都企業(yè)網(wǎng)站建設(shè)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都企業(yè)網(wǎng)站建設(shè)及推廣,對(duì)電動(dòng)窗簾等多個(gè)方面擁有豐富設(shè)計(jì)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
筆者在開(kāi)發(fā)時(shí)發(fā)現(xiàn),thinkphp5的自帶redis類(lèi)方法,只有簡(jiǎn)單的讀取緩存、寫(xiě)入緩存的基本方法,遠(yuǎn)不能滿(mǎn)足我們業(yè)務(wù)的需求。redis本身支持五種數(shù)據(jù)類(lèi)型,string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。redis的東西就不必再介紹了,接下來(lái)還是讓我一起擴(kuò)展thinkphp5的redis方法吧!
首先我們先找到緩存驅(qū)動(dòng)類(lèi)里的,handler()方法,這個(gè)方法是返回Redis類(lèi)的實(shí)例化對(duì)象的。
這就是實(shí)例化對(duì)象,包括了options配置項(xiàng)、handler資源句柄、tag標(biāo)簽。實(shí)際上這里的handler是new
Redis()的對(duì)象實(shí)例。只要在外部拿到handler資源句柄,則可以對(duì)redis的操作進(jìn)行擴(kuò)展了。
在cache類(lèi)里新增一個(gè)getHandler方法。
然后我們就可以在控制器調(diào)用了
打印的就是這個(gè)redis對(duì)象了
這里需要注意的是:
一個(gè)是調(diào)thinkphp5的redis的方法,就是這樣用。
一個(gè)是如果你要調(diào)用原生的redis方法
基本的用法都講完了。
接下來(lái)就愉快的開(kāi)始擴(kuò)展redis方法吧。
先找到這個(gè)類(lèi)
這個(gè)類(lèi)里并沒(méi)有l(wèi)ist的相關(guān)操作方法,那我們就來(lái)擴(kuò)展list的相關(guān)方法。
這里的話(huà),我就舉一個(gè)例子了。
在控制器里去調(diào)用
這樣就寫(xiě)入成功了。
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend
FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:針對(duì)thinkPHP5框架存儲(chǔ)過(guò)程bug重寫(xiě)的存儲(chǔ)過(guò)程擴(kuò)展類(lèi)完整實(shí)例ThinkPHP行為擴(kuò)展Behavior應(yīng)用實(shí)例詳解ThinkPHP應(yīng)用模式擴(kuò)展詳解ThinkPHP框架設(shè)計(jì)及擴(kuò)展詳解ThinkPHP的Widget擴(kuò)展實(shí)例老生常談ThinkPHP中的行為擴(kuò)展和插件(推薦)TP5(thinkPHP5)框架mongodb擴(kuò)展安裝及特殊操作示例thinkPHP下的widget擴(kuò)展用法實(shí)例分析thinkPHP3.2.2框架行為擴(kuò)展及demo示例ThinkPHP5.0框架驗(yàn)證碼功能實(shí)現(xiàn)方法【基于第三方擴(kuò)展包】thinkphp5框架實(shí)現(xiàn)的自定義擴(kuò)展類(lèi)操作示例
PHP基礎(chǔ)
Author:陳慶平 (Andych)
E-mail:ahut9923@126.com
一、PHP入門(mén)
二、PHP變量
1、php變量的命名
變量由字母,數(shù)字,下劃線(xiàn)組成
1)變量名區(qū)分大小寫(xiě)
2)變量名必須以$開(kāi)頭
3)不能以數(shù)字開(kāi)頭
4)不能是系統(tǒng)關(guān)鍵字
$example , $sut_name , $stu_name_2
2、如何申明變量
$stu_name;
$stu_name,$stu_age;
二、PHP變量
3、判斷變量是否設(shè)置
isset() 判斷變量是否設(shè)置,返回true或false
4、定義常量
define(“”,常量值)
defined() 判斷常量是否設(shè)置,返回true 或 false
三、PHP數(shù)據(jù)類(lèi)型
變量的數(shù)據(jù)類(lèi)型
1)布爾型(boolean)
2) 整型
3)浮點(diǎn)型
4)字符串型
5)數(shù)組
6)對(duì)象
7)空值
8)資源
三、PHP數(shù)據(jù)類(lèi)型
算術(shù)運(yùn)算符
邏輯運(yùn)算符
比較運(yùn)算符
賦值運(yùn)算符
加一/減一運(yùn)算符
四、運(yùn)算符
邏輯運(yùn)算符
賦值運(yùn)算符
三元運(yùn)算符
格式: 表達(dá)式?結(jié)果1:結(jié)果2
$c = $a$b ? “good”:”bad”
PHP基礎(chǔ)
Author:陳慶平 (Andych)
E-mail:ahut9923@126.com
一、PHP流程控制語(yǔ)句
1、分支結(jié)構(gòu)
格式1:
if語(yǔ)句
if(條件)
{
語(yǔ)句集;
}
一、PHP流程控制語(yǔ)句
格式2:
if(條件){
語(yǔ)句集;
}else{
語(yǔ)句集;
}
一、PHP流程控制語(yǔ)句
格式3:
If(條件1)
{
語(yǔ)句集1;
}else if(條件2)
{
語(yǔ)句集2;
}
一、PHP流程控制語(yǔ)句
多分支結(jié)構(gòu):
switch語(yǔ)句
格式:
switch(表達(dá)式)
{ case 常量: 語(yǔ)句;break;
case 常量2: 語(yǔ)句;break;
……….
default: 語(yǔ)句;break;
}
一、PHP流程控制語(yǔ)句
2、循環(huán)結(jié)構(gòu)
While循環(huán)
While(表達(dá)式)
{
語(yǔ)句集;
}
一、PHP流程控制語(yǔ)句
for循環(huán)
for(表達(dá)式1; 表達(dá)式2; 表達(dá)式3)
{
語(yǔ)句集;
}
一、PHP流程控制語(yǔ)句
break 和 continue 語(yǔ)句
break 強(qiáng)行終止當(dāng)前循環(huán)
continue 終止當(dāng)前執(zhí)行語(yǔ)句,繼續(xù)執(zhí)行循環(huán)
的下一句
PHP
Author: 陳慶平(Andych)
E-mail:ahut9923@126.com
PHP
? 數(shù)組
分類(lèi): 枚舉數(shù)組、關(guān)聯(lián)數(shù)組和多維數(shù)組
枚舉數(shù)組:下標(biāo)為整數(shù)的數(shù)組
例如:$stu[1] = “ 張三”
關(guān)聯(lián)數(shù)組:用字符串做為下標(biāo)的數(shù)組
例如:$stu[“name”] = “ 張三”
PHP
? 數(shù)組初始化
$stu[] = “name”
$stu[] = “sex”
注意:數(shù)組下表不需要按順序分配
例題:排序數(shù)組元素(任意10 個(gè)數(shù)排
序)
PHP
? 使用array 函數(shù)
例如:
$stu = array(“james”,”jack”,”Toms”)
數(shù)組的起始下標(biāo)可以不從0 開(kāi)始
$stu = array(2=”james”,”jack”,”Toms”)
表示下標(biāo)從2 開(kāi)始
PHP
$arr = array[“name”=”james”,”sex”=”boy”]
? 數(shù)組的應(yīng)用
1 、unset() 刪除數(shù)組元素
unset($arr) 刪除整個(gè)數(shù)組
unset($arr[0]) 刪除單個(gè)數(shù)組元素
PHP
2 、foreach() 遍歷整個(gè)數(shù)組
foreach($arr as $value)
輸出數(shù)組中的元素
foreach($arr as $key=$value)
輸出數(shù)組中的下標(biāo)和元素
PHP
? each() 返回?cái)?shù)組中當(dāng)前的鍵/值對(duì)并
將數(shù)組指針向前移動(dòng)一步
返回4個(gè)值 0,1,key 和 value
如:$arr = array(4="Test
user","Toms","Andych");
$foo = each($arr);
print_r($foo);
結(jié)果:
Array ( [1] = Test user [value] = Test user [0] = 4 [key] = 4 )
PHP
? list() 把數(shù)組中的值賦給一些變量
如:list($var) = $arr
注意:list 函數(shù)僅用于數(shù)組下標(biāo)從0 開(kāi)始
的數(shù)組
? current() 返回?cái)?shù)組中當(dāng)前元素
如:current($arr)
PHP
next() 將數(shù)組的指針移到下一個(gè)元素上
如:next($arr)
prev() 將數(shù)組的指針移到上一個(gè)元素上
如:prev($arr)
range() 自動(dòng)生成一個(gè)包含指定范圍單元的
數(shù)據(jù)
如:range(0,40)
PHP
count() 統(tǒng)計(jì)數(shù)組中元素個(gè)數(shù)
如:count($arr)
array_count_values() 統(tǒng)計(jì)數(shù)組中相同
元素的個(gè)數(shù)
PHP 函數(shù)
? 函數(shù)
獨(dú)立完成特定功能的代碼塊
? 內(nèi)置函數(shù)
1 、echo() 輸出一個(gè)或多個(gè)字符串
如:echo “ 程序設(shè)計(jì)基礎(chǔ)”
PHP 函數(shù)
2 、print() 輸出字符串
如:print(“PHP 程序設(shè)計(jì)”)
用法同echo
注意:
35?print(“ 錯(cuò)誤的邏輯”):print(“ 正確的邏輯”)
PHP 函數(shù)
Print start
// 任意行文字,可以包含HTML 代碼
start;
輸出任意行字符串
3 、include() 包含一個(gè)文件
如:include(“a.php”)
PHP 函數(shù)
include包含的文件中return語(yǔ)句的使用
$b = include(“a.php”);
If($b==“ok”)
{
echo “File is Ok”;
}
a.php文件
?return “ok”?
注意:在包含文件中函數(shù)執(zhí)行到return將會(huì)終止。
PHP 函數(shù)
4、require() 包含一個(gè)文件
如:require(“a.php”)
功能同include方法一樣
? 用戶(hù)自定義函數(shù)
1、函數(shù)聲明
Function func_name($args)
{
//函數(shù)體
}
PHP 函數(shù)
關(guān)鍵字含義:
function:用于聲明自定義函數(shù)的關(guān)鍵字
Func_name:聲明的函數(shù)名
$args:參數(shù)名稱(chēng)
1、定義無(wú)參函數(shù)
function fun()
{
Echo “定義無(wú)參數(shù)函數(shù)”;
}
PHP 函數(shù)
2 、定義有參函數(shù)
(1 )按值傳遞
$num = 100;
Function func($a)
{
$a = $a*10;
}
Func($num)
PHP 函數(shù)
(2) 按地址傳遞
$num = 100;
Function func($b)
{
$b = $b + 10;
}
Func($sum);
修改如下參數(shù)php.ini
allow_call_time_pass_reference = on
PHP 函數(shù)
(3)默認(rèn)值傳遞
function func($a,$num=100)
{
return $a*$num;
}
echo func(200)
echo func(200,8);
注意:盡量不要將默認(rèn)值參數(shù)定義在第一個(gè)參數(shù)
位置,容易造成定義默認(rèn)值實(shí)效
PHP 函數(shù)
(4 )、函數(shù)的返回值
return value;
返回函數(shù)的內(nèi)容
3 、變量函數(shù)
如果一個(gè)變量名后有括號(hào),PHP 則搜索與變
量值相同的函數(shù)。并且執(zhí)行它
PHP 函數(shù)
Function foo()
{
Echo “ 執(zhí)行func() 函數(shù)” ;
}
$func = ‘foo’;
$func(); // 變量函數(shù)
顯示結(jié)果:執(zhí)行func() 函數(shù)
變量的作用域
? 變量的作用域
1 、global 語(yǔ)句
該語(yǔ)句允許從腳本的任何位置訪(fǎng)問(wèn)函數(shù)內(nèi)部
定義的變量以及從函數(shù)內(nèi)部訪(fǎng)問(wèn)函數(shù)外部的
變量
變量的作用域
//$a = 23;
function foo()
{
global $a;
$a = 32;
echo $a;
}
$func = "foo";
$func();
echo $a;
變量的作用域
2 、static 語(yǔ)句
靜態(tài)變量?jī)H在局部函數(shù)中存在,當(dāng)程序
離開(kāi)該函數(shù)時(shí),它值不會(huì)丟失
變量的作用域
function foo()
{
$a = 0;
echo $a;
$a ++;
}
foo(); //0
foo(); //0
foo(); //0
變量的作用域
function foo()
{
static $a = 0;
echo $a;
$a ++;
}
foo(); //0
foo(); // 1
foo(); // 2
日期和時(shí)間的處理
? 獲取日期和時(shí)間
date() 按指定格式返回系統(tǒng)的時(shí)間字符串
如:date(“d”) 返回月份中的第幾天
具體參數(shù)見(jiàn)P103
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 幾日,二位數(shù)字,若不足二位則前面補(bǔ)零; 如: "01" 至 "31"
D - 星期幾,三個(gè)英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小時(shí)制的小時(shí); 如: "01" 至 "12"
H - 24 小時(shí)制的小時(shí); 如: "00" 至 "23"
g - 12 小時(shí)制的小時(shí),不足二位不補(bǔ)零; 如: "1" 至 12"
G - 24 小時(shí)制的小時(shí),不足二位不補(bǔ)零; 如: "0" 至 "23"
i - 分鐘; 如: "00" 至 "59"
j - 幾日,二位數(shù)字,若不足二位不補(bǔ)零; 如: "1" 至 "31"
l - 星期幾,英文全名; 如: "Friday"
m - 月份,二位數(shù)字,若不足二位則在前面補(bǔ)零; 如: "01" 至 "12"
n - 月份,二位數(shù)字,若不足二位則不補(bǔ)零; 如: "1" 至 "12"
M - 月份,三個(gè)英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序數(shù),二個(gè)英文字母; 如: "th" ,"nd"
t - 指定月份的天數(shù); 如: "28" 至 "31"
U - 總秒數(shù)
w - 數(shù)字型的星期幾,如: "0" ( 星期日) 至 "6" ( 星期六)
Y - 年,四位數(shù)字; 如: "1999"
y - 年,二位數(shù)字; 如: "99"
z - 一年中的第幾天; 如: "0" 至 "365"
《PHP正則表達(dá)式》
PHP 正則表達(dá)式
? 正則表達(dá)式
正則表達(dá)式是一種可以用于模式 匹配和替換的強(qiáng)有力的工具。
正則表達(dá)式可以讓用戶(hù)通過(guò)使用一系列的特殊字符構(gòu)建匹配模
式,然后把匹配模式與數(shù)據(jù)文件、程序輸入以及WEB 頁(yè)面的表單輸
入等目標(biāo)對(duì)象進(jìn)行比較,根據(jù)比較對(duì)象中是否包含匹配模式,執(zhí)
行相應(yīng)的程序。
例: ^http 表示匹配以http 開(kāi)頭的所有字符
[a-z] 匹配所有小寫(xiě)字符
abc 匹配字符串a(chǎn)bc
PHP 正則表達(dá)式
? 正則表達(dá)式的元字符
PHP 正則表達(dá)式
? 匹配正則表達(dá)式模式
preg_match(pattern,subject)
表示在subject字符串中搜索與pattern給出的正則表達(dá)式相匹配的
內(nèi)容.該函數(shù)返回pattern所匹配的次數(shù)(0次或1次).0次表示沒(méi)有匹配
結(jié)果,函數(shù)返回一個(gè)false
例如:
$str = “php is a good language”;
preg_match(“/php/”,$str);
PHP 正則表達(dá)式
模式,是正規(guī)表達(dá)式最基本的元素,它們是一組描述字符串特
征的字符。模式可以很簡(jiǎn)單,由普通的字符串組成,也可以非常
復(fù)雜,往往用特殊的字符表示一個(gè)范圍內(nèi)的字符重復(fù)出現(xiàn),或表
示上下文。我們先看一些正則表達(dá)式中的特殊字符。
? 字符: ^
意義:表示匹配的字符必須在最前邊。
例如:
preg_match(/^A/,”A good language”) // 匹配成功
? 字符: $
意義:與^ 類(lèi)似,匹配最末的字符。
例如:
preg_match(/t$/,”eat”) // 匹配成功
PHP 正則表達(dá)式
? 字符*
意義:匹配* 前面的字符0 次或n 次。
例如: preg_match(“/do*g/”,”doog”) // 匹配成功
? 字符+
意義:匹配+ 號(hào)前面的字符1 次或n 次。等價(jià)于{ 1, } 。
例如:preg_match(“/do+g”,”dg”) // 不匹配
? 字符?
意義:匹配? 前面的字符0 次或1 次。
例如:preg_match(“/do?g/”,”dg”) // 匹配
PHP 正則表達(dá)式
? 字符.
意義:( 小數(shù)點(diǎn)) 匹配除換行符外的所有單個(gè)的字符。
例如:/.n/ 匹配“nay, an” 中的‘a(chǎn)n’ ,但不匹配‘nay’ 。
? 字符(x)
意義:匹配‘x’ 并記錄匹配的值。
例如:/(foo)/ 匹配和記錄“foo bar.” 中的‘foo’ 。匹配子串能被結(jié)果數(shù)組中的素[1], ...,[n] 返回
? 字符x│y
意義:匹配'x' 或者'y' 。
例如:/green│red/ 匹配"green apple" 中的'green' 和"red apple." 中的'red' 。
PHP 正則表達(dá)式
? 字符{ n }
意義:這里的n是一個(gè)正整數(shù)。匹配前面的n個(gè)字符。
例如:/a{ 2 }/不匹配"candy,"中的'a',但匹配"caandy," 中的所有'a'和"caaandy."中前面的兩個(gè)'a'。
? 字符{ n, }
意義:這里的n是一個(gè)正整數(shù)。匹配至少n個(gè)前面的字符。
例如:/a{ 2, }不匹配"candy"中的'a',但匹配"caandy"中的所有'a'和"caaaaaaandy."中的所有'a'
? 字符{ n,m }
意義:這里的n和m都是正整數(shù)。匹配至少n個(gè)最多m個(gè)前面的字符。
例如:/a{ 1,3 }/不匹配"cndy"中的任何字符,但匹配 "candy,"中的'a',"caandy," 中的前面兩個(gè) 'a'和"caaaaaaandy"中前面的三個(gè)'a',注意:即使"caaaaaaandy" 中有很多個(gè)'a',但只匹配前面的三 個(gè)'a'即"aaa"。
PHP 正則表達(dá)式
? 字符[xyz]
意義:一字符列表,匹配列出中的任一字符。你可以通過(guò)連字符- 指出一個(gè)字符范圍。
例如:[abcd] 跟[a-d] 一樣。它們匹配"brisket" 中的'b' 和"ache" 中的‘a(chǎn)’,’c' 。
? 字符[^xyz]
意義:一字符補(bǔ)集,也就是說(shuō),它匹配除了列出的字符外的所有東西。 你可以使用連字符- 指出一 字符范圍。
例如:[^abc] 和[^a-c] 等價(jià),它們最早匹配"brisket" 中的'r' 和"chop." 中的'h' 。
? 字符 空格
意義:匹配一個(gè)空格( 不要與b 混淆)
PHP 正則表達(dá)式
? 預(yù)定義字符和字符類(lèi)
? \d 數(shù)字
表示匹配數(shù)字0-9中任一字符,功能類(lèi)似[0-9]
? \D 非數(shù)字
表示匹配一個(gè)非數(shù)字,功能類(lèi)似[^0-9]
? \w 單詞字符
表示匹配一個(gè)單詞字符.功能類(lèi)似[a-zA-Z0-9]
? \W 非單詞字符
表示匹配一個(gè)非單詞字符
PHP 正則表達(dá)式
? 字符\b
意義:匹配一個(gè)單詞的分界線(xiàn),比如一個(gè)空格( 不要與空格混淆)
例如:/\bno/ 匹配"noonday" 中的'no' ,/ly\b/ 匹配"possibly yesterday." 中的'ly' 。
PHP
Author: 陳慶平(Andych)
E-mail:ahut9923@126.com
PHP 字符串
? 格式化字符串
1 、trim() 刪除字符串開(kāi)始和結(jié)束位置的空格
格式:trim(str)
2 、ltrim() 刪除字符串左邊的空格
格式:ltrim(str)
PHP 字符串
3 、 rtrim() 刪除字符串右邊的空格
格式:rtrim(str)
PHP 字符串
4 、strtolower() 字符串轉(zhuǎn)換為小寫(xiě)
格式:strtolower(str)
5 、strtoupper() 字符串轉(zhuǎn)換為大寫(xiě)
格式:strtoupper(str)
6 、ucfirst() 將函數(shù)的第一個(gè)字符轉(zhuǎn)換為大寫(xiě)
格式:ucfirst(str)
PHP 字符串
7 、ucwords() 將每個(gè)單詞的首字母轉(zhuǎn)換為大寫(xiě)
格式:ucwords(str)
? HTML 文本格式輸出
1 、nl2br() 將字符串中的\n 轉(zhuǎn)換成br
格式:nl2br(str)
str 中包含\n
PHP 字符串
2、htmlspecialchars() HTML字符原樣輸出
格式:htmlspecialchars(str,quote_style)
str:要轉(zhuǎn)換的字符
quote_style:轉(zhuǎn)換方式,主要對(duì)單引號(hào)和雙引
號(hào)進(jìn)行轉(zhuǎn)換。值如下:
ENT_COMPAT 雙引號(hào)被轉(zhuǎn)換
ENT_QUOTES 單引號(hào)和雙引號(hào)都被轉(zhuǎn)換
ENT_NOQUOTES 任何一個(gè)引號(hào)都不被轉(zhuǎn)換
主要用在防止惡意腳本注入和數(shù)據(jù)庫(kù)數(shù)據(jù)的存儲(chǔ)
PHP 字符串
3 、strip_tags() 去除字符串中PHP 和HTML 代碼
格式:strip_tags(str,[char])
str :要去除的字符串
char :要保留字符串
如:strip_tags(“a href=‘’new/a”,a)
PHP 字符串
? 和數(shù)據(jù)庫(kù)相關(guān)
1 、addslashes() 按照一定規(guī)則將字符串進(jìn)行轉(zhuǎn)義
格式:addslashes($str)
如:addslashes(“Hello ,’jack’”)
結(jié)果:Hello,\’jack\’
magic_quotes_gpc = On 自動(dòng)對(duì) get post cookie
的內(nèi)容進(jìn)行轉(zhuǎn)義
get_magic_quotes_gpc ()檢測(cè)是否打開(kāi)
magic_quotes_gpc
PHP 字符串
2 、stripslashes() 去除字符串中的反斜杠
格式:stripslashes($str)
? 字符串的連接和分割
1 、explode() 按指定分割符將字符串分開(kāi)
格式:explode(str,$str[,limit])
str :分割符
$str :要分割的字符串
limit :分割后數(shù)組長(zhǎng)度(可選)
PHP 字符串
2 、implode() 將字符串按指定字符連接
成一個(gè)字符串
格式:implode(str,$arr)
str :連接符
$arr :字符串?dāng)?shù)組
注意:implode() 函數(shù)有個(gè)別名函數(shù)join
PHP 字符串
3、strtok() 從指定的字符串中去除指定的字符
格式:strtok($str,str)
注意:若想輸出所有內(nèi)容,則以后函數(shù)中不需
要再加$str了。
如:$str = aa@a.com;bb@a.com;cc@a.com
$newstr = strtok($str,”;”)
while($newstr )
{
echo $newstr;
$newstr = strtok(”;”)
}
PHP 字符串
4 、substr() 在指定的字符串中取出規(guī)定的字符
串。
格式:substr($str,start[,length])
$str :指定的字符串
strat :起始位置
length :取出的字符串的長(zhǎng)度。該參數(shù)可選
PHP 字符串
? 字符串比較
1 、strcmp() 字符串比較, 返回值為0 ,正數(shù)和負(fù)數(shù)
格式:strcmp($str1,$str2)
注意:比較的字符串是區(qū)分大小寫(xiě)的
2 、strcasecmp() 功能同上,但不區(qū)分大小寫(xiě)
PHP 字符串
3 、strnatcmp() 按自然排序比較字符串
格式:strnatcmp($str1,$str2)
如:strnatcmp(“4”,”14”) // 結(jié)果小于0
strcmp(“4”,”14”) // 結(jié)果大于0
4 、strnatcasecmp() 用法同上,只是不區(qū)分大
小寫(xiě)
PHP 字符串
? 字符串查找
1 、strstr() 在指定的字符串中查找指定的字符
格式:strstr($str1,$str2)
如:$email = “ahut9923@126.com";
$domain = strstr($email,"@");
echo $domain; //@126.com
注意:如果含有多個(gè),則從第一次出現(xiàn)的位置
開(kāi)始輸出,若沒(méi)有則返回FALSE
PHP 字符串
2 、stristr() 功能同strstr ,只是不區(qū)分大小寫(xiě)
3 、strrchr() 從最后一次搜索到的字符處返回
用處:取路徑中文件名
$path = "c:\\a\\b\\aa\\a.html";
$filename = strrchr($path,"\\");
echo $ filename;
PHP 字符串
? 定位字符串
1 、strpos() 在指定的字符串中查找子字符串第
一次出現(xiàn)的位置,找不到返回false
格式:strpos($str1,$str2)
如:echo strpos(“Hello”,”l”)
2 、strrpos() 功能同上,搜索子字符串最后一次
出現(xiàn)的位置
PHP 字符串
? 字符串替換
1、str_replace() 將新的字符串替換目標(biāo)字符串
中指定的字符串
格式:str_replace($search,$replace,$subject)
如:
$subject = "Hell jack";
echo str_replace("Hell","Hello:",$subject);
$search:要被替換的字符串
$replace:替換的字符串
$subject:目標(biāo)字符串
PHP 字符串
2 、substr_replace() 查找和替換子字符串
格式:substr_replace($Str,$rep,$start[,length])
$str :原始字符串
$rep :替換后的新字符串
$start :起始位置
$length :替換的長(zhǎng)度,該項(xiàng)可選
如:$subject = "Hell jack";
echo substr_replace($subject,"Hell",1);
// 結(jié)果:HHell
PHP函數(shù)
Author:陳慶平(Andych)
E-mail:ahut9923@126.com
PHP函數(shù)
? 函數(shù)
1、定義
獨(dú)立完成特定功能的代碼塊
2、特性
1)無(wú)須在引用函數(shù)之前定義
2)函數(shù)不能被重載。(即不能定義名稱(chēng)相同的函數(shù))
3)函數(shù)參數(shù)個(gè)數(shù)不能變化
4)PHP支持默認(rèn)參數(shù)函數(shù)
PHP函數(shù)
? 內(nèi)置函數(shù)
1、echo()函數(shù)
功能:輸出一行字符串
格式:echo “字符串”;
2、print()函數(shù)
功能:輸出一行字符串
格式:print ”字符串”;
PHP函數(shù)
3、include / require 函數(shù)
功能:包含并運(yùn)行指定的文件 。
格式:include “a.php”;
說(shuō)明:如果上面的函數(shù)用在條件語(yǔ)句中,一定要寫(xiě)在{}內(nèi).
被包含的文件中可以使用return 語(yǔ)句。
If($a==$b)
{
include “a.php”;
}else{
include “b.php”;
}
PHP函數(shù)
? 自定義函數(shù)
1、函數(shù)聲明
格式:
function func_name($arg1,$arg2…$argn)
{
語(yǔ)句集;
return value;
}
根據(jù)函數(shù)是否包含參數(shù):無(wú)參函數(shù) 和 有參函數(shù)
PHP函數(shù)
2、無(wú)參函數(shù)
例:定義函數(shù),計(jì)算100以?xún)?nèi)偶數(shù)之和
function func_sum()
{
$sum = 0;
for($a=0;$a=100;$a++)
{
if($a%2==0){ $sum += $a;}
}
}
func_sum(); //調(diào)用函數(shù)
PHP函數(shù)
3、有參函數(shù)
1)按值傳遞
例:寫(xiě)一函數(shù),求任何兩個(gè)數(shù)的和
function func_name($a,$b)
{
$sum = $a + $b;
echo $sum;
}
func_name(32,34); //調(diào)用函數(shù)
PHP函數(shù)
2)按地址傳遞
例:求給定數(shù)乘以15以后的結(jié)果。
$myNum = 100;
function func_mul($a)
{
echo $a * 15;
}
func_mul($myNum); //函數(shù)調(diào)用,帶地址符號(hào)
echo $myNum;
低版本不默認(rèn)支持地址傳遞,修改如下參數(shù)php.ini
allow_call_time_pass_reference = on
PHP函數(shù)
3)默認(rèn)值函數(shù)
定義函數(shù)時(shí),給參數(shù)賦值;在調(diào)用函數(shù)若不指定參數(shù)內(nèi)容,
則自動(dòng)調(diào)用參數(shù)默認(rèn)值。
例:
function func_def($style=“默認(rèn)值”)
{
echo $style;
}
func_def(); //不帶參數(shù),輸出 “默認(rèn)值”
func_def(“賦給參數(shù)”); //給參數(shù),輸出 “賦給參數(shù)”
PHP函數(shù)
4)函數(shù)返回值
功能: 函數(shù)返回值
格式: return “值”
例:
function func_returnval()
{
return “return value”;
1、輸出。
Python: print 默認(rèn)換行,不換行要加逗號(hào)。
PHP: echo 可以輸出多個(gè)變量;print ()只輸出一個(gè)變量,且成功返回值為1,失敗為0;print_r() 只輸出數(shù)組;die() 先輸出,后關(guān)機(jī);printf() 格式化輸出字符串;var_dump()可以判斷一個(gè)變量的類(lèi)型與長(zhǎng)度,并輸出變量的數(shù)。
2、數(shù)據(jù)類(lèi)型。
PHP:七個(gè)數(shù)據(jù)類(lèi)型:String,Integer,Float,Boolean,Array,Object,NULL
Python:五個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類(lèi)型:Number,String,List,Tuple,Dictionary 其中包括Numberint,long,float,complex
3、訪(fǎng)問(wèn)權(quán)限。
PHP:三種訪(fǎng)問(wèn)權(quán)限,由高到低為public,protected,private
Python: _foo代表不能直接訪(fǎng)問(wèn)的類(lèi)屬性,需要通過(guò)類(lèi)提供的接口訪(fǎng)問(wèn);__foo代表類(lèi)的私有成員;__foo__特殊方法專(zhuān)用的標(biāo)識(shí)
4、定義變量和方法。
PHP: 弱類(lèi)型語(yǔ)言,用$定義變量,一般情況下變量引用變量時(shí)也要帶著$(區(qū)別于Java), 在類(lèi)中定義變量時(shí)還要加var ,定義方法時(shí) function test (){} 要用function聲明。
Python:弱類(lèi)型語(yǔ)言,定義變量時(shí)直接寫(xiě),除了訪(fǎng)問(wèn)權(quán)限修飾符不需要加別的。定義方法時(shí) def __init__(self,name): 要用def聲明,self是必須要加的常量,代表該類(lèi)的對(duì)象,方法體不用{}。
列表是 Python 中最常用的序列數(shù)據(jù)類(lèi)型之一。
列表中的元素是有序可重復(fù)的。
列表中的元素可以是不同數(shù)據(jù)類(lèi)型,甚至可以嵌套。
和字符串一樣,列表可以被索引和截取,列表被截取后返回一個(gè)新列表。
和字符串不一樣,列表是可變數(shù)據(jù)類(lèi)型,其值可以被改變。
與字符串的索引一樣,列表也使用下標(biāo)索引來(lái)訪(fǎng)問(wèn)列表中的值。
列表變量 [ 索引值 ]
列表同樣可以被截取
列表變量 [ 頭下標(biāo):尾下標(biāo) ]
列表是可變類(lèi)型,通過(guò)賦值語(yǔ)句直接修改對(duì)應(yīng)位置的元素
列表變量 [ 索引值 ] = 新元素
要?jiǎng)h除指定位置的元素,用 pop(i) 方法,其中 i 是索引位置
刪除指定位置的元素還可以使用 del 語(yǔ)句
刪除指定內(nèi)容的元素使用 remove(obj) 方法
列表元素也可以是另一個(gè)列表,比如 s 只有4個(gè)元素,其中 s[2] 又是一個(gè)list
要獲得 'php' 可以寫(xiě) s[2][1] ,因此 s 可以看成是一個(gè)二維數(shù)組
- end -