日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php不用于输出的函数,PHP常用函数和常见疑难问题解答

發布時間:2025/3/8 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php不用于输出的函数,PHP常用函数和常见疑难问题解答 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先介紹下比較簡單但必不可少且實用的知識,可以當手冊查詢,適合像我一樣的新手看。

PHP常用庫函數介紹

一、PHP字符串操作常用函數1.確定字符串長度

int strlen(string str)

2.比較兩個字符串

a. strcmp函數對兩個字符串進行二進制安全的比較,并區分大小寫

int strcmp(string str1,string str2)

b. 以不區分大小寫的方式比較兩個字符串

int strcasecmp(string str1,string str2)

3.求兩個字符串相同部分

int strspn(string str1,string str2)

4.求兩個字符串的不同部分

5.int strcspn(string str1,string str2)

6.處理字符串大小寫

a. 將字符串全部轉換為小寫

string strtolower(string str)

b. 將字符串全部轉化為大寫

string strtoupper(string str)

c. 將字符串第一個字符大寫

string ucfirst(string str)

d. 把字符串中每個單詞的首字符轉換為大寫

string ucwords(string str)

7.字符串與HTML相互轉換

a. 將換行符轉換為HTML終止標記

string bl2br(string str)

b. 將特殊字符轉換wieldHTML等價形式(不解析格式)

string htmlentities(string str[,int quote_style[,int charset]])

string htmlspecialchars(string str[,int quote_style[,string charset]])

c. 將HTML轉換為純文本,移除所有的php和html標簽

string strip_tags(string str[,string allowable_tags])

d. 將文本轉換為HTML等價形式

array get_html_translaction_table(int table[,int quote_style])

e. 創建一個自定義的轉換清單

string strtr(string str,array replacements)

8.正則表達式函數的替代函數

a. strtok函數根據預定義的字符串列表來解析字符串

string strtok(string str,string tokens):返回直到遇到tokens之前的所有內容

b. 根據預定義的定界符分析字符串

array explode(string separator,string str[,int limit]):分割字符串

c. 將數組轉換為字符串

string implode(string delimiter, array array)

d. 找到字符串的第一次出現

int strpos(string str,string substr[,int offset])

e. 找到字符串的最后一次出現

int strrpos(string str,char substr[,offset])

f. 用另外一個字符串替代字符串的所有實例

mixed str_replace(string occurrence,mixed replacement,mixed str[,int count])

g. 獲取字符串的一部分strstr返回字符串中預定義字符串第一次出現開始的剩余部分

string strstr(string str,string occurrence)

h. 根據預定義的偏移返回字符串一部分

string substr(string str,int start[,ing length]):start可為負數,表示倒數第幾開始

i. 確定字符串出現的頻率

int substr_count(string str,string substring)

j. 用另一個字符串替換一個字符串的一部分

string substr_replace(string str,string replacement,int start[,int length])

9.填充和剔除字符串

a. 從字符串開始出裁剪字符

string ltrim(string str[,string charliset])

b. 從字符串結尾裁剪字符

string rtrim(string str[,string charliset])

c. 從字符串兩端裁剪字符

string trim(string str[,string charliset])

d. 填充字符串

string str_pad(string str,int length[,string pad_string[,int pad_type]])

10.字符和單詞計數

a. 字符串中字符計數

mixed count_chars(string str[,mode])

b. 字符串中單詞總數計數

mixed str_word_count(string str[,int format])

二、PHP Web開發中常用的三個表單驗證函數

(1)isset();——適合于檢測是否存在這個參數。用來避免引用不存在的變量

定義和作用范圍:用于測試一個變量是否具有值(包括0,FALSE,或者一個空字串都返回true,但不能是NULL),即:“http://localhost/?fo=”也是可以通過檢測,因此不適用。但如果是“http://localhost/”參數中并不含fo參數,就可以用isset來檢測,此時isset($_GET['fo'])返回false

不適用于:該函數不適合于驗證html表單中的文本的有效方式。要檢查用戶輸入文本是否有效,可以用empty();

(2)empty();——最好用的一個函數,用于檢查變量是否具有空值

定義和作用范圍:用于檢查變量是否具有空值:包括:空字串,0,null 或false,這些都返回false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”時,empty檢測出來的結果都是ture

不適用范圍:不適用于檢測可為0的參數

(3)is_numeric();——檢查變量是否為數字

定義和作用范圍:檢查變量是否為數字,只適用于檢測數字

不適用范圍:但假如參數名不存在,會出錯,因此不適合于第一層檢測

另外還有一個好用的驗證函數是checkdate(month,day,$year),用來確認某個日期是否存在或在過去是否存在

綜合示例:

這是表單:

表單驗證示例

傳有效值 傳空值 傳0值

性別:男 性別:女

清空

[code]

這是驗證

[code]<?php

ini_set("display_errors",1);

//ini_set("error_reporting",E_ALL); print_r

error_reporting(E_ALL);

$a=NULL;

if(isset($a))echo '變量$a的isset為真';

echo '

isset的情形:

';

if(isset($_GET['fo'])){

echo '變量\'fo\'的isset為真,變量可用';

}else{

echo '變量\'fo\'的isset為假,無變量設置';

}

echo '

empty的情形:

';

if(empty($_GET['fo'])){

echo '變量\'fo\'的empty為真,即空值或無效值';

}else{

echo '變量\'fo\'的empty為假,有值';

}

echo '

is_numeric的情形:

';

if(is_numeric($_GET['fo'])){ //在參數中無fo參數時,則出錯。

echo '變量\'fo\'的is_numeric為真,是數字';

}else{

echo '變量\'fo\'的is_numeric為假,不是數字';

}

echo "

\$_GET['fo']=''的情形:

";

if($_GET['fo']==''){ //在參數中無fo參數時,則出錯。

echo 'fo無值,空的字符串';

}elseif($_GET['fo']!=''){

echo 'fo有值,不為\'\'.';

}

echo "

\$_GET['sex']='m'的情形:

";

if($_GET['sex']=='m'){ //當參數中無sex變量時就會出錯。

echo '男的';

}elseif($_GET['sex']=='f'){

echo '女的';

}

?>

三、其他常用庫函數

(1)ini_set ini_get——可操作配置參數列表

為了使自己的程序在不同的平臺中擁有更好的兼容性,很多時候我們都要獲取當前Php的運行環境參數。

比如我們常用到的:

獲取 magic_quotes_gpc 狀態,來決定當表單提交時我們是否轉義(addslashes)數據;

設定 max_execution_time 來延長程序的執行時間;

設定 error_reporting 使自己的項目在開發與運營階段切換;

設定 memory_limit 加大內存等等…

(2)ini_set(string varname, string newvalue ) : //設定環境配置的參數

ini_get(string varname) : //獲取環境配置的參數

PHP ini_set函數是設置選項中的值,在執行函數后生效,腳本結束的時候,這個設置也失效。不是所有的選項都能被改函數設置的。具體那些值能夠設置,可以查看手冊中的列表

其實你把PHP ini_set函數和ini_get結合使的話,非常好。比如你想在配置文件里添加自己的包含文件路徑,但是你有沒有權限更改php.ini,那么你可以結合兩個函數:

ini_set ( 'include_path' , ini_get ( 'include_path' ). ':/your_include_dir:' );

(3)chdir(dirname(__FILE__)); //切換到global.php所在目錄

(4)ob_start(‘ui_handler');//設置輸出緩沖區句柄為ui_handler,即系統首頁面為ui_handler函數所定義的內容

(5)int intval(mixed var, int [base]);

本函數可將變量轉成整數類型。可省略的參數 base 是轉換的基底,默認值為 10。轉換的變量 var 可以為數組或類之外的任何類型變量。

(6)error_reporting(report_level) 函數—— 設置 PHP 的報錯級別并返回當前級別

其中report_level可取值為0、1、2、4、8、16、32、……、4096、8191

例子:任意數目的以上選項都可以用“或”來連接(用 OR 或 |),這樣可以報告所有需要的各級別錯誤。例如,下面的代碼關閉了用戶自定義的錯誤和警告,執行了某些操作,然后恢復到原始的報錯級別:

//禁用錯誤報告

error_reporting(0);

//報告運行時錯誤

error_reporting(E_ERROR | E_WARNING | E_PARSE);

//報告所有錯誤

error_reporting(E_ALL);

?>

常見疑難問題解答

1、rand(min,max)與mt_rand(min,max)的區別如果沒有提供可選參數 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之間的偽隨機數。例如想要 5 到 15(包括 5 和 15)之間的隨機數,用 mt_rand(5, 15)。

很多老的 libc 的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數默認使用 libc 隨機數發生器。mt_rand() 函數是非正式用來替換它的。該函數用了 Mersenne Twister 中已知的特性作為隨機數發生器,它可以產生隨機數值的平均速度比 libc 提供的 rand() 快四倍。

2、PHP echo, print, print_r, printf, sprintf和var_dump函數的區別和使用

1) echo

echo() 實際上不是一個函數,是php語句,因此您無需對其使用括號。不過,如果您希望向 echo() 傳遞一個以上的參數,那么使用括號會發生解析錯誤。而且echo是返回void的,并不返回值,所以不能使用它來賦值。

例子:

echo "55nav"; // 55nav

echo ("55nav"); // 55nav

echo ("55nav","com"); //發生錯誤,有括號不能傳遞多個參數

echo "55nav"," com"," is", " web"; // 不用括號的時候可以用逗號隔開多個值, 會輸出 55nav com is web

echo "55nav is good web."; // 不管是否換行,最終顯示都是為一行 55nav is good web.

echo "$fistname com"; // 如果 $firstname = "55nav", 則會輸出 55nav com.

echo '$firstname com'; // 由于使用單引號,所以不會輸出$firstname的值,而是輸出 $firstname com12

?>

2) print

print() 和 echo() 用法一樣,但是echo速度會比print快一點點。實際上它也不是一個函數,因此您無需對其使用括號。不過,如果您希望向print() 傳遞一個以上的參數,那么使用括號會發生解析錯誤。注意print總是返回1的,這個和echo不一樣,也就是可以使用print來賦值,不過沒有實際意 義。

例子:

echo $a; // $a的值是14

?>;

3) print_r 函數——即打印預定義變量的值

print_r函數打印關于變量的易于理解的信息。

語法:mixed print_r ( mixed $expression [, bool return ] )

如果變量是string , integer or float , 將會直接輸出其值,如果變量是一個數組,則會輸出一個格式化后的數組,便于閱讀,也就是有key和value對應的那種格式。對于object對象類同。 print_r有兩個參數,第一個是變量,第二個可設為true,如果設為true,則會返回字符串,否則返回布爾值TRUE。

例子:

$c = print_r($a);

echo $c;? // $c的值是TRUE

$c = print_r($a, ture);

echo $c; // $c的值是字符串55nav

?>

4) printf函數

printf函數返回一個格式化后的字符串。

語法:printf(format,arg1,arg2,arg++)

參數 format 是轉換的格式,以百分比符號 (“%”) 開始到轉換字符結束。下面是可能的 format 值:

* %% – 返回百分比符號

* %b – 二進制數

* %c – 依照 ASCII 值的字符

* %d – 帶符號十進制數

* %e – 可續計數法(比如 1.5e+3)

* %u – 無符號十進制數

* %f – 浮點數(local settings aware)

* %F – 浮點數(not local settings aware)

* %o – 八進制數

* %s – 字符串

* %x – 十六進制數(小寫字母)

* %X – 十六進制數(大寫字母)

arg1, arg2, arg++ 等參數將插入到主字符串中的百分號 (%) 符號處。該函數是逐步執行的,在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。如果 % 符號多于 arg 參數,則您必須使用占位符。占位符被插入 % 符號之后,由數字和 “\$” 組成。可使用數字指定顯示的參數,詳情請看例子。

例子:

printf("My name is %2\$s %1\$s","55nav", "com"); // 在s前添加1\$或2\$.....表示后面的參數顯示的位置,此行顯示My name is com 55nav

?>

5) sprintf函數

此函數使用方法和printf一樣,唯一不同的就是該函數把格式化的字符串寫寫入一個變量中,而不是輸出來。

例子:

$out = sprintf("My name is %1\$s %2\$s","55nav", "com");

echo $out;? //輸出 My name is 55nav com

?>

6) var_dump函數

功能: 輸出變量的內容、類型或字符串的內容、類型、長度。常用來調試。

例子:

var_dump($a); //int(100)

$a=100.356;

var_dump($a); //float(100.356)

?>

總結

以上是生活随笔為你收集整理的php不用于输出的函数,PHP常用函数和常见疑难问题解答的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九热精品免费视频 | 欧美啪啪网站 | 午夜av免费观看 | 91超薄丝袜肉丝一区二区 | 天堂最新| 欧美亚洲黄色片 | 欧美综合专区 | 亚洲AV无码成人精品区在线观 | 一直草 | 精品动漫一区二区三区的观看方式 | 国产精久久一区二区三区 | 成人免费区一区二区三区 | 国产天堂网 | 欧美精品一 | youjizz日本人 | 日韩影院一区 | 久久久久久久久久国产精品 | 97视频久久久 | 午夜激情导航 | 使劲插视频 | 色小姐com| av天堂一区二区三区 | 日日插夜夜爽 | 另类ts人妖一区二区三区 | 在线看免费毛片 | 奴性白洁会所调教 | 一级黄色av片| 中文字幕第8页 | 在线免费观看高清视频 | 色天天色| 污视频免费在线观看 | 色中文在线 | 国产一区二区三区四区三区四 | 国产精品久久久久久亚洲伦 | 精品亚洲aⅴ无码一区二区三区 | 亚洲精品国产精华液 | 日韩成人午夜 | 精品久久精品久久 | 午夜精品久久久久久久第一页按摩 | 干干干操操操 | 欲色综合 | 久久艹这里只有精品 | 少妇熟女视频一区二区三区 | 国产吧在线 | 丁香综合 | 黑人操欧美人 | 日韩亚射吧 | 亚洲欧美中文字幕 | 久久午夜免费视频 | 天天插日日插 | 午夜国产 | 国产在线一区二区三区四区 | 男人吃奶视频 | 丁香六月综合 | 日本大尺度做爰呻吟 | 国产午夜无码视频在线观看 | 男男gay动漫 | 成人免费黄色小视频 | 欧美三级视频在线观看 | 日本特黄特黄刺激大片 | 日本少妇喷水 | 色撸撸在线 | 日韩国产精品一区 | 国产一国产二国产三 | 91九色精品 | 国产精品理论片在线观看 | 久久天堂av | 国产91丝袜在线播放 | 国产综合久久久久 | 影音先锋黄色资源 | 国产精品视频久久久 | 制服丝袜在线第一页 | 五月婷婷欧美 | 神马久久久久久久久久久 | 国产婷 | www在线视频| 国产经典一区二区三区 | 黄色网页入口 | 午夜免费观看 | 国产av国片偷人妻麻豆 | 91精产品一区观看 | 国产主播专区 | 国产精品91一区二区 | 黄色免费91 | 亚洲a成人 | 欧美精品一区二区三区久久久竹菊 | 巨乳在线播放 | 亚洲精品久久久久国产 | 黑人激情视频 | 久久精品国产亚洲AV高清综合 | 久久这里只有精品久久 | 一二区免费视频 | 爱草视频 | 国产精品永久 | 久久天堂精品 | 瑟瑟在线视频 | 国产成人无码a区在线观看视频 | 欧美精品a区 | 男生坤坤放进女生坤坤里 |