php5中的字串操作函式種類繁多,功能齊全,以下就讓我們來分門別類地學習一下。
一、輸出
1、void echo(string arg1 [,string ...])
輸出所有變數,括號可以省略。
2、int print(string arg)
輸出arg的值,總是返回1,括號可以省略。
3、int printf(string format [,mixed args [, mixed ...]])
按照format指定的格式輸出所有變數,返回輸出字串的長度。以下是format的使用說明,其後是一些例項。
1)正負限定符用來指定強制顯示資料的符號。
2)填充限定符用來指定填充時用什麼符號。該符號可以是空格或0,空格為預設值。如果要指定別的填充符號,則需要用單引號(')來說明。
3)對齊限定符用來指定輸出時是左對齊還是右對齊。
4)寬度限定符用來指定輸出時起碼的寬度。
5)精度限定符用來指定輸出浮點數時要顯示多少位小數。如果被用在字串上,則限定最大長度。
6)型別限定符用來指定以什麼型別來輸出資料,
% 該符號是型別限定符的啟始符,如果要顯示%,則需要用兩個%。
b 變數被看作整數處理,輸出其二進位制的形式。
c 變數被看作整數處理,輸出其對應的ascii字元。
d 變數被看作整數處理,輸出其帶符號的十進位制形式。
e 變數被看作用科學計數法表示的數字。如1.2e+2
u 變數被看作整數處理,輸出其不帶符號的十進位制形式。
f 變數被看作浮點數處理。
o 變數被看作整數處理,輸出其八進位制的形式。
s 變數被看作字串處理。
x 變數被看作整數處理,輸出其十六進製制的形式。(小寫)
x 變數被看作整數處理,輸出其十六進製制的形式。(大寫)
7)變數交錯
一般地,該函式按照提供的引數的順序來輸出,如果想要改變順序則需要使用變數交錯限定符。如:
printf("the %2$s contains %1$d monkeys", $num, $location);
同樣地,引數可以被重複使用。如:
printf('the %2$s contains %1$d monkeys.
that/'s a nice %2$s full of %1$d monkeys.', $num, $location);
以下是一些例項,以供參考。
1)輸出資料
<?php
$n = 43951789;
$u = -43951789;
$c = 65; // ascii 65 is 'a'
printf("%%b = '%b'/n", $n);
printf("%%c = '%c'/n", $c);
printf("%%d = '%d'/n", $n);
printf("%%e = '%e'/n", $n);
printf("%%u = '%u'/n", $n);
printf("%%u = '%u'/n", $u);
printf("%%f = '%f'/n", $n);
printf("%%o = '%o'/n", $n);
printf("%%s = '%s'/n", $n);
printf("%%x = '%x'/n", $n);
printf("%%x = '%x'/n", $n);
printf("%%+d = '%+d'/n", $n);
printf("%%+d = '%+d'/n", $u);
?>
輸出:%b = '10100111101010011010101101'
%c = 'a'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%x = '29ea6ad'
%+d = '+43951789'
%+d = '-43951789'
2)輸出字串
<?php
$s = 'monkey';
$t = 'many monkeys';
printf("[%s]/n", $s); //基本字串輸出
printf("[%10s]/n", $s); //右對齊(+號省略)
printf("[%-10s]/n", $s); //左對齊(用空格填充)
printf("[%010s]/n", $s); //限定寬度(用0填充)
printf("[%'#10s]/n", $s); //用自定義填充符'#'
printf("[%10.10s]/n", $t); //左對齊並限定長度為10
?>
輸出:[monkey]
[ monkey]
[monkey ]
[0000monkey]
[####monkey]
[many monke]
3)用0對整數填充
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>
4)格式化貨幣
<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
//$money="123.1";
$formatted = sprintf("%01.2f", $money);
//輸出"123.10"
?>
5)科學計數法
<?php
$number = 362525200;
echo sprintf("%.3e", $number); //輸出3.63e+8
?>
4、string sprintf(string format [,mixed args [,mixed ...]])
同printf(),唯一的區別是將輸出內容返回到乙個字串中。
5、int vprintf(string format, array args)
對陣列args中的每個元素進行格式化。返回輸出字串的長度。
6、string vsprintf(string format, array args)
同vprintf(),區別是將輸出內容返回到乙個字串中。
7、mixed sscanf(string str, string format)
按照格式format讀取字串中的資料,並以陣列的形式返回。
二、組合和分割
1、string implode(string glue, array pieces)
或string join(string glue, array pieces)
將陣列pieces中的資料用glue連線,並返回連線後的字串。如implode(".",array(1,2,3))返回"1.2.3"。
2、array explode ( string separator, string string [, int limit] )
以separator為分隔符,將string分割成若干個元素並返回改數組合。limit指定最多分割為多少塊,最後乙個元素包含剩餘字串。
<?php
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
?>
3、array str_split ( string string [, int split_length] )
按split_length指定的長度將string分割開來並返回陣列。如果split_length沒有指定,則預設為1。
PHP5薄荷教程 14 變數操作函式
二 判斷 獲取變數的資料型別 1 bool is numeric mixed var 判斷變數var是否為數字,是則返回true,不是則返回false。以下函式的用法類似 is int is integer is long 整數 is float is double is real 浮點數 is s...
PHP5 字串處理函式大全
php5字串處理函式小結,對於使用php的朋友經常用得到的一些函式。方便查詢使用。addcslashes 為字串裡面的部分字元新增反斜線轉義字元 addslashes 用指定的方式對字串裡面的字元進行轉義 bin2hex 將二進位制資料轉換成十六進製制表示 chop rtrim 的別名函式 chr ...
PHP5 字串處理函式大全
addcslashes 為字串裡面的部分字元新增反斜線轉義字元 addslashes 用指定的方式對字串裡面的字元進行轉義 bin2hex 將二進位制資料轉換成十六進製制表示 chop rtrim 的別名函式 chr 返回乙個字元的ascii碼 chunk split 按一定的字元長度將字串分割成小...