字符相關:php
%s - 對應的變量雙引號"中的值按照原樣的內容插入到原字符串對應的'%s'符號位置。segmentfault
%c - 參考'百度百科->標準ASCII表'至關於chr函數,能夠接受整型或者字符串整型,
但只能接受十進制(64~127)、'Dec字段'、的ASCII值,而後插入原字符串中。數組
數字相關:函數
%d - 對應的變量是個整數或者字符串整數,它會按原樣內容插入到原字符串對應的'%d'符號位置。spa
%f - 對應的變量是本地載取的浮點數,而後插入到原字符串對應的'%f'符號位置。code
%F - 對應的變量是非本地載取的浮點數,而後插入到原字符串對應的'%F'符號位置。排序
%u - 對應的變量是個字符串整數而且還添加'符號',它會將把變量中的'符號'去除造成一個純整數,而後插入到原字符串對應的'%u'符號位置。圖片
%b - 若是對應的變量是個整型或者字符串整型,它會把原來的整型數字變量轉換爲一個二進制的格式,而後插入到原字符串對應的'%b'符號位置。默認整型爲十進制!字符串
%o - 若是對應的變量是個整型或者字符串整型,它會把原來的整型數字變量轉換爲一個八進制的格式,而後插入到原字符串對應的'%o'符號位置。默認整型爲十進制!class
%x - 若是對應的變量是個整型或者字符串整型,它會把原來的整型數字變量轉換爲一個十六進制的格式,而後插入到原字符串對應的'%x'符號位置。默認整型爲十進制!
%X - 它和 '%X' 使用的方式基本相同,唯一不一樣的是它會將十六進制整數的字母轉換爲大寫,而後插入到原字符串對應的'%X'符號位置。默認整型爲十進制!
%e - 對應的變量必須是一個'科學記數法'的值 例如:'1.5e+3' 轉換爲:1.500000e+3 而後插入到原字符串對應的'%e'符號位置。
%E - 它和 '%e' 使用的方式基本相同,唯一不一樣的是它會將 '科學記數法' 中的 'e' 轉換爲大寫的 'E' ,而後插入到原字符串對應的'%E'符號位置。
%g - 一、若是對應的變量中的值是個浮點數,
(小數點後面必須跟着是000,不然會按原樣插入原字符串中。好比:小數點後面001!)
它會轉換爲整數插入到原字符串對應的'%g'符號位置。
二、若是對應的變量中的值是個'科學記數法'的值,它會進行壓縮而後插入到原字符串對應的'%g'符號位置,
例如:'1.5e+3' 按照常規轉換爲:'1.500000e+3' 若是使用 '%g' 它會壓縮轉換爲 '1500' 。
%G - 它和 '%g' 使用的方式基本相同,唯一不一樣的是它會將 '科學記數法' 中的 'e' 轉換爲大寫的 'E' ,而後插入到原字符串對應的'%G'符號位置。
其它:
%% - 不須要對應的變量做爲參數,直接插入一個'%'符號。
例子用法:
一、
%(數字)$(s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的參數)
這個數字的意思是將對應的變量進行從新排序,例如:"The %2\$s hello %1\$d world"
'1$'表示對應着第一個變量參數,
'2$'表示對應着第二個變量參數。以此類推!
適用範圍:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的參數。
二、
還可使用對應的單個變量重複疊加,例如:"The %1\$d hello %1\$d world"它會將第一個變量參數重複疊加在這2個位置。
適用範圍:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的參數。
三、
字符'%%'的使用大部份都會用在將'%s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的參數的原形輸出
例如:'%%s'轉換後輸出爲'%s'。
適用範圍:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的參數。
四、
若是對應的變量爲字符串,能夠將這個字符串的前面添加自定義的字符(重複字符)
例如:$a = "hello"; 可使用'%'#10s'轉換輸出爲:#####hello。
注意:'[%'#10s]'字符中的'10'的數字必須大於原字符串的字符數量,大於5個就添加5個自定義的字符(重複字符)。
自定義的字符前面必須加上單引號,若是隻是添加'0'則不須要單引號。
例如:$a = 8; 可使用'%02s'轉換輸出爲:08。
適用範圍:s、d、b、u、o、x、X、g、G。
五、
若是對應的變量爲字符串,能夠載取一段插入到原字符串,字符個數爲載取單位。
例如:$a = "hello"; 可使用'%2.2s'載取輸出爲'he',意思是載取了2個字符。
適用範圍:s、e、E、g、G。
六、
若是對應的變量爲浮點數,能夠轉換爲整數,不保留小數點後的數字
例如:$a = 123.321; 可使用'%d'轉換輸出爲:123。
適用範圍:d、
五、
若是對應的變量爲整數,能夠轉換爲浮點數插入到原字符串,默認小數點後面添加6個'0'。
例如:$a = 123; 可使用'%0.2f'轉換輸出爲:123.00。
注意:只能添加'0'的參數!
適用範圍:f、F。
六、
若是對應的變量爲浮點數,能夠定義保留小數點後的數字個數(定義多少個個數)而後插入到原字符串
例如:$a = 123.123; 可使用'%01.2f'轉換輸出爲:123.12,定義只保留2個小數點後的數字的個數。
適用範圍:f、F、e、E。
七、
若是對應的變量爲整數,能夠在這個整數前面加上'+'符號,若是這個整數是負數則無效,它會按負數的整數原樣插入到原字符串。
例如:$a = 10; 可使用'%+d'轉換輸出爲:'+10'。
適用範圍:d、f、F、e、E、g、G。
八、
字符'%u'的使用大部份都會用在一個負數的整型上,還記得整型的最大值嗎?是:4294967296。
若是是負數的整型將減去'4294967296'的數,輸出減去後的餘數。
例如:$a = -10; 使用'%u'參數後,4294967296減10是多少?轉換輸出固然是4294967286。
注意:若是使用'%d'去轉換'4294967286'的話,它會返回'-10'。
適用範圍:u。
九、
若是對應的變量爲字符串,能夠將這個字符串使用空格右移一點,或者左移一點。
例如:$a = "hello"; 可使用'[%10s]'轉換輸出爲:[ hello] 。
例如:$a = "hello"; 可使用'[%-10s]'轉換輸出爲:[hello ] 。
適用範圍:s、d、f、F、u、b、o、x、X、g、G。
PS:以上的例子能夠自由組合搭配使用!
//對應的變量:(本文件通用) $str = "Hello"; $number = 886; //一、將一個編輯後的字符串寫入一個(文件系統)文本文件中。必須只能調用fopen函數寫入! //第一個參數是定義fopen函數使用'w'參數來寫入一個自定義名的文本文件,能夠是txt、php或doc類型的,只要是文本文件都是能夠的! //第二個參數是定義須要編輯的原字符串,在原字符串的中間插入字符,在原字符串插入字符的位置使用'%'表示。 echo "<b>一、 fprintf</b>將一個編輯後的字符串寫入一個(文件系統)文本文件中。只能調用fopen函數使用'w'參數來寫入!<br/>"; $file = fopen("./printf/fprintf.txt","w"); echo '已寫入文本文件中並返回該編輯後的字符串長度爲:<b>'.fprintf($file,"The %d contains %s",$number,$str).'</b><br/>'; //1.五、使用方式相同,唯一不一樣的是它把存放對應變量的參數能夠做爲數組方式傳入。 echo "<b>1.五、vfprintf</b>使用方式相同,唯一不一樣的是它把存放對應變量的參數能夠做爲數組方式傳入。<br/>"; $file = fopen("./printf/vfprintf.txt","w"); echo '已寫入文本文件中並返回該編輯後的字符串長度爲:<b>'.vfprintf($file,"The %d contains %s",array($number,$str)).'</b><hr/>'; //二、使用方式相同,唯一不一樣的是編輯後的字符串直接輸出,它將取消掉了調用fopen函數的參數。 echo "<b>二、printf</b>它取消掉了調用fopen函數的參數,直接輸出了!<br/>"; printf("The %d contains %s<br/>",$number,$str); //2.五、使用方式相同,唯一不一樣的是它把存放對應變量的參數能夠做爲數組方式傳入。 echo "<b>2.五、vprintf</b>使用方式相同,唯一不一樣的是它把存放對應變量的參數能夠做爲數組方式傳入。<br/>"; vprintf("The %d contains %s<hr/>",array($number,$str)); //三、使用方式相同,唯一不一樣的是編輯後的字符串賦值到一個變量中去,等待後續使用。 echo "<b>三、sprintf</b>輸出該編輯後的字符串賦值的變量。<br/>"; echo $a = sprintf("The %d contains %s<br/>",$number,$str); //3.五、使用方式相同,唯一不一樣的是它把存放對應變量的參數能夠做爲數組方式傳入。 echo "<b>3.五、vsprintf</b>使用方式相同,唯一不一樣的是它把存放對應變量的參數能夠做爲數組方式傳入。<br/>"; echo $a = vsprintf("The %d contains %s<hr/>",array($number,$str));
輸出以下: