1. thinkphp 如何在整形後面加兩位小數
PHP 中sprintf函數可以將整數格式化為浮點格式
<?php
$num = 3;
$res = sprintf("%.2f" , $num);
echo $res;//結果為3.00
//如果你需要隨機的兩位小數 就隨機數好了
$num = 3;
$res = rand(10 , 99);
echo $num . '.' . $res;
2. php,sprintf函數輸出字元串問題
你運行一下這個代碼,輸出內容是:
[many monke]
printf的第一個參數是輸出內容,後面的參數對應第一個參數裡面的%*。例如本例代碼,第一個參數是[%s],表示輸出第二個參數,作為字元串。%10.10s裡面的10.10表示輸出佔10個字元寬度、從字元串左邊開始、最多隻輸出10個字元,輸出的內容靠右、如果不夠寬度(例如10.8s輸出[ many mon])則空格在左邊。
3. PHP如何顯示兩位小數
一round()函數:
floatround(float$val[,int$precision])
返回將val根據指定精度precision(十進制小數點後數字的數目)進行四捨五入的結果。
precision也可以是負數或零(默認值)。
例如:
echoround(3.6);//4
echoround(3.6,0);//4
echoround(1.95583,2);//1.96
$a=12345678;
echoround($a,-3);//12346000
但是有時候如遇到這樣的數字就不行了,12.3,13.4,15,6
//我們要轉為12.30,13.40,15,60,這樣的值,就得用另外一種強大的方法了。
二sprintf()[或者printf()函數]函數
此函數源於c中強的printf()函數。所以是一個強大的格式化工具。
說明:
stringsprintf(string$format[,mixed$args[,mixed$...]])
format包含:
其格式(format)有如下值:
d有符號10進制整數
i有符號10進制整數
o無符號8進制整數
u無符號10進制整數
x無符號的16進制數字,並以小寫abcdef表示
X無符號的16進制數字,並以大寫ABCDEF表示
F/f浮點數
E/e用科學表示格式的浮點數
g使用%f和%e表示中的總的位數表示最短的來表示浮點數G同g格式,但表示為指數
c單個字元
s字元串
%顯示百分號本身
4. 該學習哪些PHP函數PHP常用函數
以下是記php的常用函數,網上轉載的:
php
//===============================時間日期===============================
//y返回年最後兩位,Y年四位數,m月份數字,M月份英文。d月份幾號數字,D星期幾英文
$date=date("Y-m-d");
$date=date("Y-m-d H:i:s");//帶時分秒
//include,include_once.require,require_once
//require("file.php") 在PHP程序執行前就會先讀入require所指定引進的文件,如出現錯誤是致命的。
//include("file.php") 可以放在PHP程序的任何位置,PHP程序執行到時才讀入include指定引入的文件,如出現錯誤會提示
//===============================輸出列印===============================
//sprintf("%d","3.2") ;//只格式化,返回格式化後的字元串,不輸出。
//printf("%d","3.2") ;//即格式化,又輸出
//print("3.2") ;//只輸出
//echo "nihao","aa";//可以輸出多個字元串
//print_r(array("a","b","c"));//將數組的鍵值與元素依次顯示
//===============================常用字元串函數===============================
//獲取字元串長度,有多少個字元,空格也算
$str=" sdaf sd ";
$len=strlen($str);
//用第一個參數里的字元串,把後面數組里的每個元素連接起來,返回一個字元串。
$str=implode("-",array("a","b","c"));
//字元串分割方法,返回一個數組,用第一個參數里的字元分割後面的字元串,指定字元的前後和之間都截取,如果指定字元在開頭或結尾則返回的數組開頭或結尾的元素為空字元串
//沒有分割到字元串就返回給數組對應元素一個空值。最後一個限制返回數組長度,可不限制,則一直分割下去。
$array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4);
//print_r($array);
//剔除字元串左邊開頭的空格,並返回
//如有第二個參數則是剔除左邊開頭的空格換成剔除第二個參數里的字元串
$str=ltrim("a asd ","a");
//剔除字元串右邊開頭的空格
$str=rtrim(" asd ");
//把第一個字元串兩邊以第二個參數開頭的字元串剔除。如沒有第二個參數,默認剔除掉字元串兩邊開頭的空格
$str=trim(" sdsdfas ","a");
//從字元串第一個參數里的指定位置開始取多長(多少個)字元,字元串中第一個字元位置從0算。
//如果第二個參數為負則從字元串結尾倒數第幾個開始取多長的字元串。結尾最後一個字元算-1,截取方向總是從左到右
$str=substr("abcdefgh",0,4);
//將第三個參數的第一個參數字元串用參數二字元串替換
$str=str_replace("a","","abcabcAbca");
//與str_replace用法同,只是不區分大小寫
//$str=str_ireplace("a"," ","abcabcAbca");
//返回括弧里字元串的字元全部大寫的字元串
$str=strtoupper("sdaf");
//將括弧里第一個字元串變成大寫後返回
$str=ucfirst("asdf");
//用echo等將括弧里字元串列印在網頁上時原汁原味列印出括弧里的字元串,包括標簽字元
$str=htmlentities("
");
//返回第二個參數字元串在第一個字元串里出現的次數
$int=substr_count("abcdeabcdeablkabd","ab");
//返回第二個字元串在第一個字元串第一次出現的位置,第一個字元位置算0
$int=strpos("asagaab","ab");
//返回第二個字元串在第一個字元串最後一次出現的位置,第一個字元位置算0
$int=strrpos("asagaabadfab","ab");
//截取返回參數一中從左至右第一個出現的參數二到參數一最後一個字元的字元串
$str=strstr("sdafsdgaababdsfgs","ab");
//截取返回參數一中從左至右最後一個出現的參數二到參數一最後一個字元的字元串
$str=strrchr("sdafsdgaababdsfgs","ab");
//將參數二中每一個字元在參數一中相同字元前加"\"
$str=addcslashes("abcdefghijklmn","akd");
//將參數一的字元串填充到參數二指定的長度(單字元個數),參數三為指定填充的字元串,不寫默認空格
//參數四填充位置,0在參數一左側開頭填充,1右側開頭,2兩邊開頭同時。不寫默認在右側開頭填充
$str=str_pad("abcdefgh",10,"at",0);
//依次比較兩字元串對應字元阿斯克碼值,第一對不一樣的,如果參數一里大於參數二里的返回1,反之返回-1,兩字元串完全一樣返回0
$int1=strcmp("b","a");
//返回第一個參數格式化後的數字格式,第二個參數為保留幾個小數,參數三為將小數點換成參數三,參數四為整數部分每三位用什麼字元分割
//後面三個參數都不寫,則默認去掉小數部分,整數每隔三位用逗號,分割。參數三,參數四必須同時存在
$str=number_format(1231233.1415,2,"d","a");
//===============================常用數組方法===============================
$arr=array("k0"=>"a","k1"=>"b","k2"=>"c");
//返回數組元素個數
$int=count($arr);
//判斷第二參數的數組元素中是否有第一個參數元素
$bool=in_array("b",$arr);
//返回括弧中數組所有鍵值組成的新數組原數組不改變
$array=array_keys($arr);
//判斷第二個參數的數組中是否有第一個參數的鍵值,返回真假
$bool=array_key_exists("k1",$arr);
//返回原數組中所有元素值組成的新數組,鍵值從0開始自增,原數組不變
$array=array_values($arr);
//返回當前數組指針指向的鍵值
$key=key($arr);
//返回當前數組指針指向的元素值
$value=current($arr);
//返回當前數組指針指向元素的鍵值及元素值組成的數組,再將指針推向下一位,最後指針指向的是一個空元素返回空
//返回的數組中有四個固定鍵值對應的元素值分別是返回元素的鍵值及元素值,其中0,'key'鍵值都對應返回元素鍵值,1,'value'鍵值都對應返回的元素值
$array=each($arr);
//先將數組指針推向下一位,再返回指針移動後指向的元素值
$value=next($arr);
//將數組指針推向上一位,再返回指針移動後指向的元素值
$value=prev($arr);
//讓數組指針重置指向第一個元素並返回元素值
$value=reset($arr);
//將數組指針指向最後一位元素,並返回最後一位元素值
$value=end($arr);
//將第一個參數以後的參數作為元素追加入第一個參數數組的末尾,索引從最小的沒用過的數值開始計,返回之後的數組長度
$int=array_push($arr,"d","dfsd");
//將第一個參數數組後面所有參數作為元素添加到第一個參數數組開頭處,鍵值以0從第一個元素處重新累加,原非數值的鍵值保持不變,原元素排序位置不變,返回之後的數組長度
$int=array_unshift($arr,"t1","t2");
//返回從數組尾部提取最後一個元素值,並把最後一個元素從原數組中剔除
$value=array_pop($arr);
//array_pop相反,提取返回數組頭一個元素值,並把頭一個元素從原數組中剔除
$value=array_shift($arr);
//讓第一個參數數組達到第二個參數數值長度,將第三個參數作為元素添加到第一個參數數組的末尾,索引從最小沒用過數值開始計並返回,原數組不改變
$array1=array_pad($arr,10,"t10");
//返回一個將原數組中多餘重復元素剔除掉的新數組,原數組不改變
$array=array_unique($array1);
//將原數組鍵值打破重新以元素值的阿斯克碼值從小到大排序,索引從數字0開始重計
$int=sort($array);
//和sort相反,以元素值阿斯柯碼值大小降序重新排序,索引從0重新計
$int=rsort($array);
//返回將第一個參數數組中每一個元素值依次作為鍵值付給參數二數組的數組,兩數組長度必須一致,原數組不改變
$array=array_combine(array("a","b","c","d","e"),$arr);
//將兩個數組合並並返回原數組不變
$array=array_merge($arr,array("a","b","c"));
//在第一個參數數組中從第二個參數數值位置開始截取到第三個參數數值長度的數組鍵值+元素並返回,數組第一個元素位置從0計
$array=array_slice($arr,2,1);
//截取功能和array_slice()一樣,只是將截取部分在原數組中剔除
$array=array_splice($arr,2,1);
//將第一個參數作為第一個元素,每次自增參數三的值,自增後再作為一個元素存在數組中,直到值達到參數二的值存到數組中為止並返回這個數組
//參數一,參數二可以是數字,可以是單個字元,單字元就按阿斯柯碼值算,第三個參數不寫默認每次自增1
$array=range(3,9,2);
//將原數組元素與對應鍵值的對應關系重新隨機排列返回真假
$bool=shuffle($arr);
//計算數組中所有數值型元素值的和
$int=array_sum(array("a",2,"cssf"));
//把一個數組分割為新的數組塊,新數組每個元素都是一個數組,新數組每個元素內有幾個元素由參數二決定
//第三個參數決定元素的鍵值是否保留原鍵值可不寫,true為保留,默認false不保留
$array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true);
//json_encode()將數組轉換成JSON格式字元串返回
$arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4'));
echo $encode_str = json_encode($arr);
//json_decode()將JSON格式字元串轉換成能強制轉換成數組的對象返回,JSON格式字元串中鍵與值需要引號括起來時必須用雙引號
$decode_arr = (array)json_decode($encode_str);
var_mp($decode_arr);
?>
5. 有哪些 PHP 調試技巧
1、最簡單經典的var_mp()或者echo +exit()
2、配置error_log,能夠解決很多疑難雜症
3、debug方式是:xdebug
4、firebug + firephp或者chrome + chromephp
6. PHP調試中有哪些輸出方法
PHP開發中,經常會查看變數的值,因此經常會將變數的值輸出到頁面以便於查看。
常用的輸出方式有:echo、print、print_r、var_mp、var_exprot等;echo和print常用來輸出字元串;
查看數組常用print_r、var_mp、var_exprot;
若使用echo和print輸出數組時則,結果只能顯示"Array",不會顯示數組的結構。
一下舉一例說明幾種用法
配合print "<pre"和print "</pre",以數組$a為例說明各種輸出的區別。
$a = array ('a' = 'apple', 'b' = 'banana', 'c' = array ('x', 'y', 'z'));
print_r($a);輸出結果:Array ( [a] = apple [b] = banana [c] = Array ( [0] = x [1] = y [2] = z ) )
print "<pre"; print_r($a); print "</pre";輸出結果:Array([a] = apple
[b] = banana
[c] = Array([0] = x[1] = y[2] = z))var_mp($a);輸出結果:array(3) { ["a"]= string(5) "apple" ["b"]= string(6) "banana" ["c"]= array(3) { [0]= string(1) "x" [1]= string(1) "y" [2]= string(1) "z" } }
print "<pre"; var_mp($a); print "</pre";輸出結果:array(3) {["a"]=string(5) "apple"["b"]=string(6) "banana"["c"]=array(3) {[0]=string(1) "x"[1]=string(1) "y"[2]=string(1) "z"}}var_export($a);輸出結果:array ( 'a' = 'apple', 'b' = 'banana', 'c' = array ( 0 = 'x', 1 = 'y', 2 = 'z', ), )
print "<pre"; var_export($a); print "</pre";輸出結果:array ('a' = 'apple',
'b' = 'banana',
'c' =array (0 = 'x',
1 = 'y',
2 = 'z',),)調試的時候可以根據不同的需要選用不同的輸出方式。
7. php 中的字元串中的%s和%d是什麼意思
親,字元串中的%s和%d代表你一定格式的可替換佔位符。
%s:代表字元串
%d:代表數字
例如:
echo sprintf('這是一個字元串:%s,這是一個數字:%d', '字元串', 123);
這個會輸出:
這是一個字元串:字元串,這是一個數字:123
希望可以幫到你喲!~~有不懂的可以繼續追問,或私信,或到boboidea-本人博客留言!~
8. php中有幾個截取字元創的函數
函數名 作用 php版本
chr() 從指定的 ASCII 值返回字元。 3
chunk_split() 把字元串分割為一連串更小的部分。 3
count_chars() 返回字元串所用字元的信息。 4
explode() 把字元串打散為數組。 3
implode() 把數組元素組合為一個字元串。 3
join() implode() 的別名。 3
levenshtein() 返回兩個字元串之間的 Levenshtein 距離。 3
localeconv() 返回包含本地數字及貨幣信息格式的數組。 4
ltrim() 從字元串左側刪除空格或其他預定義字元。 3
md5() 計算字元串的 MD5 散列。 3
md5_file() 計算文件的 MD5 散列。 4
metaphone() 計算字元串的 metaphone 鍵。 4
money_format() 把字元串格式化為貨幣字元串。 4
nl_langinfo() 返回指定的本地信息。 4
nl2br() 在字元串中的每個新行之前插入 HTML 換行符。 3
number_format() 通過千位分組來格式化數字。 3
parse_str() 把查詢字元串解析到變數中。 3
print() 輸出一個或多個字元串。 3
printf() 輸出格式化的字元串。 3
similar_text() 計算兩個字元串的匹配字元的數目。 3
sprintf() 把格式化的字元串寫寫入一個變數中。 3
str_ireplace() 替換字元串中的一些字元。(對大小寫不敏感) 5
str_replace() 替換字元串中的一些字元。(對大小寫敏感) 3
str_split() 把字元串分割到數組中。 5
strcasecmp() 比較兩個字元串。(對大小寫不敏感) 3
strchr() 搜索字元串在另一字元串中的第一次出現。strstr() 的別名 3
strcspn() 返回在找到任何指定的字元之前,在字元串查找的字元數。 3
stripos() 返回字元串在另一字元串中第一次出現的位置(大小寫不敏感) 5
stristr() 查找字元串在另一字元串中第一次出現的位置(大小寫不敏感) 3
strlen() 返回字元串的長度。 3
strpbrk() 在字元串中搜索指定字元中的任意一個。 5
strpos() 返回字元串在另一字元串中首次出現的位置(對大小寫敏感) 3
strrchr() 查找字元串在另一個字元串中最後一次出現的位置。 3
strripos() 查找字元串在另一字元串中最後出現的位置(對大小寫不敏感) 5
strrpos() 查找字元串在另一字元串中最後出現的位置(對大小寫敏感) 3
strspn() 返回在字元串中包含的特定字元的數目。 3
strstr() 搜索字元串在另一字元串中的首次出現(對大小寫敏感) 3
strtok() 把字元串分割為更小的字元串。 3
strtr() 轉換字元串中特定的字元。 3
substr() 返回字元串的一部分。 3
substr_compare() 從指定的開始長度比較兩個字元串。 5
substr_count() 計運算元串在字元串中出現的次數。 4
substr_replace() 把字元串的一部分替換為另一個字元串。 4
ucwords() 把字元串中每個單詞的首字元轉換為大寫。 3
wordwrap() 按照指定長度對字元串進行折行處理。 4
9. php的科學計數法
其實只是換一種思路罷了
printf是不返回任何值的,只是命令罷了,而sprintf是返回列印內容的,利用這點,就可以得出這個數值的字元形式,然後再利用字元替換函數,就完成了你的這個要求。簡單地實現了一下,你看一下吧,當然還可以實現更復雜的表示形式。
<?php
$number=1200000;
$result = sprintf("%e",$number);
$afterformat = str_replace("e+"," * 10^",$result);
//echo $afterformat;
?>
10. PHP怎麼定義保留2位小數的變數
在php中要保留兩位小數的方法有很多種辦法,有如:printf,substr,number_format,round等等方法
方法一
sprintf()函數 ,sprintf() 函數把格式化的字元串寫寫入一個變數中
<?php
$number=123;
$txt=sprintf("%f",$number);
echo$txt;
?>
輸出:
123.000000
方法二substr()函數
$num=123213.666666;
echosprintf("%.2f",substr(sprintf("%.3f",$num),0,-2));
方法三 number_format()函數
$number=1234.5678;
$nombre_format_francais=number_format($number,2,',','');//1234,57
$english_format_number=number_format($number,2,'.','');//1234.57(我一般用這個)
方法四 round 函數,round() 函數對浮點數進行四捨五入。
<?php
echo(round(0.60));
echo(round(0.50));
echo(round(0.49));
echo(round(-4.40));
echo(round(-4.60));
?>
輸出:
1
1
0
-4
-5
如果要保留小數,後來參數根保留小數位數即可。
$number=1234.5678;
echoround($number,2);//1234.57