邊記邊學PHP-(九)PHP字符串常用函數及內容分頁實現

PHP裏面封裝了很多字符串函數,我也記不住,用的時候就翻手冊。這裏有一個使用簡單的字符串處理函數實現的分頁技術,當然這個很簡單,以後應該在數據庫那個地方使用更好的分頁技術。

代碼如下:

<span style="font-size:18px;"><?php
	function msubstr($str,$start,$len){
		$tmpstr="";
		$strlen = $start + $len;
		for($i=0;$i<$strlen;$i++){
			if(ord(substr($str,$i,1))>0xa0){   //字符串截取函數,substr()。ord()返回字符的 ASCII 碼值 >0xa0說明是個漢字,佔兩個字節,所以讀取兩個
				$tmpstr.=substr($str,$i,2);
				$i++;
			}else{
				$tmpstr.=substr($str,$i,1);
			}
		}
		return $tmpstr;
	}
	$page=$_REQUEST['page'];
	if($page==""){
		$page = 1;
	}
	if($page){
		$counter = file_get_contents("file/file.txt");    //文件讀取函數,這個相當於fopen fgets fclose三個函數的結合,將文件內容全部讀完
		$length = strlen($counter);					      //字符串長度計算函數,strlen
		$page_count=ceil($length/900);                    //ceil(float $value)返回不小於$value的下一個數
		$c=msubstr($counter,0,($page-1)*900);     
		$c1 = msubstr($counter,0,$page*900);
		echo substr($c1,strlen($c),strlen($c1)-strlen($c));//輸出當前頁的數據
	}

?>
<table>
<tr>

	<td>頁次:<?php echo $page;?>/<?php echo $page_count;?>頁</td>
	<td>分頁:
	<?php
		if($page!=1){
			echo "<a href=index.php?page=1>首頁</a> ";             //?後面的是傳遞的數據,這個先不用管。
			echo "<a href=index.php?page=".($page-1).">上一頁</a> ";
		}
		if($page<$page_count){
			echo "<a href=index.php?page=".($page+1).">下一頁</a> ";
			echo "<a href=index.php?page=".$page_count.">尾頁</a> ";
		}

	?>
	</td>

</tr>
</table></span>

這邊一些東西看不懂也不用管,主要是對字符串處理的函數的使用。這裏我沒有設計頁面,就是隻是實現了這個功能。


函數名 函數作用
array explode ( string $delimiter , string $string [, int $limit ] )
此函數返回由字符串組成的數組,每個元素都是 string 的一個子串,它們被字符串 delimiter 作爲邊界點分割出來。
string implode ( [string $glue ,] array $pieces )
glue 將一維數組的值連接爲一個字符串。 


string md5 ( string $str [, bool $raw_output = false ] )
對字符串str進行加密。如果可選的 raw_output 被設置爲 TRUE ,那麼 MD5 報文摘要將以16字節長度的原始二進制格式返回。 
int ord ( string $string )

返回字符串 string 第一個字符的 ASCII 碼值。該函數是 chr() 的互補函數。 

string chr ( int $ascii )

返回相對應於 ascii 所指定的單個字符。此函數與 ord() 是互補的。 

string ltrim string $str [, string $charlist ] )
刪除字符串開頭的空白字符(或其他字符)通過指定 charlist,可以指定想要刪除的字符列表。簡單地列出你想要刪除的全部字符。使用 .. 格式,可以指定一個範圍。 不使用第二個參數, rtrim() 僅刪除以下字符:" " (ASCII 32 (0x20)),普通空白符。"\t" (ASCII 9 (0x09)),製表符。"\n" (ASCII 10 (0x0A)),換行符。"\r" (ASCII 13 (0x0D)),回車符。"\0" (ASCII 0 (0x00)),NUL 空字節符。"\x0B" (ASCII 11(0x0B)),垂直製表符。      
string rtrim ( string $str [, string $charlist ] )
該函數刪除 str 末端的空白字符並返回。 如果不使用第二個參數如上
string trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] )
此函數返回字符串 str 去除首尾空白字符後的結果。如果不使用第二個參數如上
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
返回 haystack 字符串從 needle 第一次出現的位置開始到 haystack 結尾的字符串。 該函數區分大小寫。如果想要不區分大小寫,用 stristr() 。 before_needle若爲 TRUE strstr() 將返回 needlehaystack 中的位置之前的部分。 

int strcmp ( string $str1 , string $str2 )
如果 str1 小於 str2 返回 < 0; 如果 str1 大於 str2 返回 > 0;如果兩者相等,返回 0。 
int strlen ( string $string )
返回給定的字符串 string 的長度。 
mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
返回 needle haystack 中首次出現的數字位置。 返回 needle 存在於 haystack 字符串起始的位置(獨立於 offset)。同時注意字符串位置是從0開始,而不是從1開始的。如果沒找到 needle,將返回 FALSE 。 

string strrev ( string $string )
返回 string 反轉後的字符串。 
string strtolower ( string $str )                                                                                                                                      
string 中所有的字母字符轉換爲小寫並返回。
string strtoupper ( string $string )
string 中所有的字母字符轉換爲大寫並返回。 
string substr ( string $string , int $start [, int $length ] )
返回字符串 string startlength 參數指定的子字符串。 如果 start 是非負數,返回的字符串將從 string start 位置開始,從 0 開始計算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

如果 start 是負數,返回的字符串將從 string 結尾處向前數第 start 個字符開始。如果 string 的長度小於或等於 start,將返回 FALSE


mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 該函數返回一個字符串或者數組。該字符串或數組是將 subject 中全部的 search 都被 replace 替換之後的結果。 如果 search replace 爲數組,那麼 str_replace() 將對 subject 做二者的映射替換。如果 replace 的值的個數少於 search 的個數,多餘的替換將使用空字符串來進行。如果 search 是一個數組而 replace 是一個字符串,那麼 search 中每個元素的替換將始終使用這個字符串。該轉換不會改變大小寫。如果 searchreplace 都是數組,它們的值將會被依次處理。如果被指定,它的值將被設置爲替換髮生的次數。 

string str_repeat ( string $input , int $multiplier )         
返回 input 重複 multiplier 次後的結果。 input 被重複的次數。multiplier 必須大於等於 0。如果 multiplier 被設置爲 0,函數返回空字符串。 


這些是我在手冊裏面找的,是些比較常用的,還有很多。如果需要可以去看手冊,手冊都有舉例 。


不知道什麼問題,我今天下午打不開博客頻道了,一直到現在纔打開。所以有點潦草了。不過字符串函數真的很多,我記不住 ,要用就要找手冊。當然一些經常用的還是需要記住的。多看看函數參數的意思。mixed代表不確定的類型。


發佈了35 篇原創文章 · 獲贊 9 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章