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

php內置函數實例教程,內置函數實例教程

編輯:關於PHP編程

php內置函數實例教程,內置函數實例教程


有大小寫轉換相關函數 

strtolower() 
strtoupper() 
ucfirst() 
ucword()

文本html標簽處理函數


nl2br() 
htmllentities() 
htmlspecialchars() 
stripslashes() 
strip_tags() 
number_format() 
strrev() 
md5()


<?php 
//轉換成小寫 
$a='www.jb51.net'; 
echo strtolower($a); 
//結果:www.jb51.net

//轉換成大寫 
$a='www.jb51.net'; 
echo strtoupper($a); 
//結果:WWW.jb51.net

//首字母大寫 
$a='www.jb51.net'; 
echo ucfirst($a); 
//結果:Www.jb51.net

//每個單詞首字母大寫 
$a='i love you'; 
echo ucword($a); 
//結果:I Love You

/* 
提示:大家都知道大小寫,認為小寫和大寫有區別嗎,但是為什麼要區分大小寫呢 
在win系統下php大小寫不嚴格 但是在linux系統下就嚴禁拉 大小寫不能亂寫 
比如 
在自動加載類的時候 
<?php 
function _autoload($className){ 
include strtolower($className).'.class.php'; 

$obj= new MyClass; 
這樣就加載myclass.class.php 
因為文件名常是小寫那麼必須轉換小寫 
?> 
*/

//nl2br把空格轉換成實體<br/>因為一般在浏覽器裡顯示的換行都是<br/> 例如在表單留言本裡必須要轉換不然折行不成功 再多的空格都任務是一個空格 
$a=' 

love 
you 
'; 
echo $a; 
echo nl2br($a); 
結果1:i love you 
結果2: 

love 
you

//表單提交如果你不進行html標簽處理那麼就會直接顯示樣式或者js代碼直接運行 
/* 
<form> 
<input type='text' name='title'> 
<input type='submit' name='submit' value='提交'> 
</form>

當你輸入 
<H1>www.jb51.net<H1> 
一提交就出現是一號大字體 
但是你原來是想要 
<H1>www.jb51.net<H1>結果的 
所以要處理下 
當輸入<script>alert('www.jb51.net')</script> 
一提交就會運行javascript 
這樣不好 必須處理下來防止黑客找到你攻擊的入口 
表單默認提交方式是get 
*/ 
//當你輸入<div><h1>www.jb51.net</h1></div> 
echo htmlspecialchars($_GET['title']);//過濾了 
結果:<div><h1>www.jb51.net</h1></div> 
其他查看源碼就知道< 和 >已經被替換了成< >就會在頁面原型顯示 
還有一點要主要 如果不處理<div >有的復制的文章自身有標簽樣式就會打亂你的頁面布局 可能css沖突 
htmllentities()函數用戶和htmlspecialchars()相反用法就不說了

當你需要那個標簽留著可以用到strip_tags()函數 
echo strip_tags($_GET['title'],'<b><p><strong><h1>'); 
提交結果是你查看源碼 就會發現<div>沒有了

/* 
加入輸入i love 'jb51'; 
提交結果為 i love \'jb51\'反斜槓轉義了 
那麼我要想原文輸出怎麼辦呢 
可以用這個php函數stripslashes() 
取消轉義 
echo stripslashes($_GET['title']); 
結果是i love 'jb51'; 
如果含有html標簽呢如這種 
<a href="http://www.jb51.net/">i love 'jb51'</a> 
我要原型輸出怎麼辦 可以用2個函數結合起來用 我已經說過的 
echo htmlspecialchars(stripslashes($_GET['title'])); 
結果:<a href="http://www.jb51.net/">i love 'jb51'</a> 
*/

//number_format()這個函數是格式化貨幣函數 不同國家的習慣不一樣那麼需要的貨幣顯示就不一樣例如商城中國錢是通常是這樣的格式 
千分位分割用逗號 保留幾位用點 人稱‘小數點' 
這個函數的用法很簡單 
number_format($money,小數點保留幾位,'小數點用什麼分開','千分位用什麼分開') 
$price='123465789.233'; 
echo number_format($money,2,',','.'); 
結果:123.465.789,23 
echo number_format($money,2,'.',',');//中國式的 
結果:123,465,789.23

//strrev()使字符串反倒過來 
$str='http://www.jb51.net'; 
echo strrev($str); 
結果:moc.tenwii.www//:ptth

//md5就是加密 用戶名密碼必須要加密防止黑客 
$a='admin'; 
echo $b= md5($a);

內置函數即PHP提供的函數,通過這些函數可以實現很多功能 is_int、is_integer、is_long,判斷變量是否是整型 is_float、is_double、is_real,判斷變量是否是浮點型 is_bool判斷變量是否是布爾型 is_string判斷變量是否是字符串 is_array判斷變量是否是數組類型 is_resource判斷變量是否是資源類型 is_object判斷變量是否是對象 is_null判斷變量是否是null   $_SERVER['SCRIPT_NAME'] 返回/mantis/test.php,相對路徑;
__FILE__ 返回文件的絕對路徑D:\Projects\mantis\test.php
$_SERVER['HTTP_X_FORWARDED_PROTO']
$_SERVER['HTTPS']
$_SERVER['SERVER_PORT']
$_SERVER["REQUEST_URI"]   URI 用來指定要訪問的頁面
$GLOBALS一個包含了全部變量的全局組合數組。變量的名字就是數組的鍵。 
explode 使用一個字符串分割另一個字符串 返回一個字符串數組
implode 使用一個字符將數組元素鏈接成字符串
$_SERVER['SERVER_NAME'] 當前腳本所在服務器的主機名
$_SERVER['HTTP_HOST'] 域名
$_SERVER['SERVER_ADDR'] 當前腳本所在服務器的IP地址
trim去除字符串首尾處的空白字符
basename 返回文件名部分
dirname 返回目錄部分
krsort — 對數組按照鍵名逆向排序
set_time_limit()設置腳本最大執行時間

time() 返回當前的unix時間戳

is_string()判斷變量是不是字符串

is_bool

is_Inteter

is_float

strtotime --  將任何英文文本的日期時間描述解析為 UNIX 時間戳

file_exists 檢查文件或目錄存不存在

fopen()打開指定的文件或URL

feof()判斷文件指針是否在末尾

fgets()從文件指針中讀取一行

trim()去掉一行前後的空格

strlen()返回字符串的長度

str_replace
isset
str_replace( "\0", '', $t_self ) 將t_self中的\0替換成“”
strpos — 查找在字符串中首次出現的位置
$_SERVER['SERVER_SOFTWARE'] 服務器信息
realpath 返回規范化的絕對路徑名
DIRECTORY_SEPARATOR 操作系統目錄分隔符
PATH_SEPARATOR 在linux系統中是一個" : "號,Windows上是一個";"號
set_include_path 設置incldue_path

get_include_path 獲取當前include_path

count() 返回數組長度,非數組返回1

substr(string string ,int start [int length]) 返回從start指定位置開始的長度的字符串
$_SERVER['LOCAL_ADDR'] IIS7上用來獲取服務器IP地址
$_SERVER['REMOTE_ADDR'] 浏覽器用戶的IP地址
array_pad — 用值將數組填補到指定長度
memory_get_usage()返回分配給PHP的內存量
spl_autoload_register 注冊__autoload()函數
ob_get_contents() Return the contents of the output buffer
strtolower() 將大寫字母轉換為小寫字母
extension_loaded('zlib')找出擴展是否被加載
ini_get 返回php.ini中配置項的值
ini_set 設置php.ini中配置項的值 ,ini_set("memory_limit",'256M'); 只在腳本執行期間生效,腳本執行完成該值重置
PHP_EOL PHP行結束符

preg_replace 執行一個正則表達式的替換

preg_match(string pattern, string subject [, array matches [, int flags]]) -- 進行正則表達式匹配

htmlspecialchars  Convert special characters to HTML entities
ceil() 進一法取整
floor() 捨去法取整
round()四捨五入法   非常有用的10個不常見PHP內置函數  

1. sys_getloadavg()

sys_getloadavt()可以獲得系統負載情況。該函數返回一個包含三個元素的數組,每個元素分別代表系統再過去的1、5和15分鐘內的平均負載。

與其讓服務器因負載過高而宕掉,不如在系統負載很高時主動die掉一個腳本,sys_getloadavg()就是用來幫你實現這個功能的。 不過很遺憾,該函數在windows下無效。


2. pack()

Pack()能將md5()返回的32位16進制字符串轉換為16位的二進制字符串,可以節省存儲空間。


3. cal_days_in_month()

cal_days_in_month()能夠返回指定月份共有多少天。


4. _()

WordPress開發者經常能見到這個函數,還有_e()。這兩個函數功能相同,與gettext()函數結合使用,能實現網站的多語言化。具體可參見PHP手冊的相關部分介紹。


5. get_browser()

在發送頁面前先看看用戶的浏覽器都能做些什麼是不是挺好?get_browser()能獲得用戶的浏覽器類型,以及浏覽器支持的功能,不過首先你需要一個php_browscap.ini文件,用來給函數做參考文件。

要注意,該函數對浏覽器功能的判斷是基於該類浏覽器的一般特性的。例如,如果用戶關閉了浏覽器對JavaScript的支持,函數無法得知這一點。但是在判斷浏覽器類型和OS平台方面,該函數還是很准確的。

6. debug_print_backtrace()

這是一個調試用的函數,能幫助你發現代碼中的邏輯錯誤。要理解這個函數,還是直接看個例子吧:

  • <?php  
  • $a = 0;   
  • function iterate() {   
  • global $a;   
  • if( $a < 10 )   
  • recur();   
  • echo $a . “, “;   
  • }   
  • function recur() {   
  • global $a;   
  • $a++;   
  • // how did I get here?   
  • echo “\n\n\n”;   
  • debug_print_backtrace();   
  • if( $a < 10 )   
  • iterate();   
  • }   
  • iterate();   
  • ?> 
OUTPUT: 
#0 recur() called at [C:\htdocs\php_stuff\index.php:8]
#1 iterate() called at [C:\htdocs\php_stuff\index.php:25]
#0 recur() called at [C:\htdocs\php_stuff\index.php:8]
#1 iterate() called at [C:\htdocs\php_stuff\index.php:21]
#2 recur() called at [C:\htdocs\php_stuff\index.php:8]
#3 iterate() called at [C:\htdocs\php_stuff\index.php:25]
#0 recur() called at [C:\htdocs\php_stuff\index.php:8]
#1 iterate() called at [C:\htdocs\php_stuff\index.php:21]
#2 recur() called at [C:\htdocs\php_stuff\index.php:8]
#3 iterate() called at [C:\htdocs\php_stuff\index.php:21]
#4 recur() called at [C:\htdocs\php_stuff\index.php:8]
#5 iterate() called at [C:\htdocs\php_stuff\index.php:25]
 

7. metaphone()

這個函數返回單詞的metaphone值,相同讀音的單詞具有相同的metaphone值,也就是說這個函數可以幫你判斷兩個單詞的讀音是否相同。不過對中文就無效了。

8. natsort()

natsort()能將一個數組以自然排序法進行排列,直接看個例子吧:

  • <?php  
  • $items = array(“100 apples”, ”5 apples”, ”110 apples”, ”55 apples”);   
  • // normal sorting:   
  • sort($items);   
  • print_r($items);  
  • ?> 
Outputs: 
# Array
# (
# [0] => 100 apples
# [1] => 110 apples
# [2] => 5 apples
# [3] => 55 apples
# )
natsort($items);
print_r($items);
# Outputs:
# Array
# (
# [2] => 5 apples
# [3] => 55 apples
# [0] => 100 apples
# [1] => 110 apples
# )

 

9. levenshtein()

Levenshtein()告訴你兩個單詞之間的“距離”。它告訴你如果想把一個單詞變成另一個單詞,需要插入、替換和刪除多少字母。看個例子吧:

  • <?php  
  • $dictionary = array(“php”, ”javascript”, ”css”);  
  • $word = ”japhp”;  
  • $best_match = $dictionary[0];  
  • $match_value = levenshtein($dictionary[0], $word);  
  • foreach($dictionary as $w) {  
  • $value = levenshtein($word, $w);  
  •     if( $value < $match_value ) {  
  •         $best_match = $w;  
  •         $match_value = $value;  
  •     }  
  • }  
  • echo ”Did you mean the ‘$best_match’ category?”;  
  • ?> 

 

10. glob()

glob()會讓你覺得用opendir(), readdir()和closedir()來尋找文件非常蠢。

  • <?php  
  • foreach (glob(“*.php”) as $file) {  
  • echo “$file\n”;  
  • }  
  • ?> 

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