PHP學習之輸出字串(echo,print,printf,printr和vardump)

來源:互聯網
上載者:User

標籤:style   使用   io   strong   檔案   資料   ar   cti   

下面一一進行介紹。
1. echo
echo 是PHP的一個關鍵字,它沒有傳回值。在寫法上,它可以省略小括弧。如下代碼:
複製代碼 代碼如下:
echo ‘Test String‘;
echo(‘Test String‘);
2. print
print 也是PHP的一個關鍵字,它有傳回值,一般返回true,返回false的情況應該沒有。在寫法上,它和echo一樣,可以省略小括弧。如下代碼:
複製代碼 代碼如下:
print ‘Test String‘;
print(‘Test String‘);
3. printf
printf可以像C語言的printf一樣,格式化輸出一個字串。它的格式和C語言差不多,都是以%開頭。其說明符定義如下。
b 參數為整數,顯示其二進位
c 參數為整數,顯示對應ASCII字元
d 參數為整數,顯示其十進位
f 參數為雙精確度,顯示為浮點數
e 參數為雙精確度,顯示為科學計數型
g 參數為雙精確度,顯示為浮點數或科學計數型
o 參數為整數,顯示其八進位
s 參數為字串,顯示為字串
u 參數為不帶正負號的整數,顯示其十進位
x/X 參數為整數,顯示其十六進位(分別為大小寫顯示)
% 輸出%要說明的是:
f,e預設小數點後六位,g在超過六位(加小數點)時,會四捨五入,如果四捨五入之後的值小於1000000會直接輸出,大於的1000000的話會顯示成科學計數型。f在值大於1.2e23輸出的結果是不對的。
以上除%以外,其它的都可以指定輸出總位元(小數點、E都算一位),並可以指定0或空格為補位符,還可以指定補位在左還是在右。
f,e可以指定小數點後位元。
如 %5d 表示輸出總位元為5,不足左補空格; %05d 表示輸出總位元為5,不足左補0; %05.1f 表示輸出總位元為5,不足左補0,小數點後1位; %-05.1f 表示輸出總位元為5,不足右補0,小數點後1位;
範例程式碼:
複製代碼 代碼如下:
printf("%7.2f", 1.2); // " 1.20"
printf("%-07.2f", 1.2); // "1.20000"
4. sprintf
sprintf和格式轉換和printf一樣,兩者區別在於printf直接輸出,而sprintf返回一個格式化後的字串。
5. print_r和var_dump
print_r和var_dump都能輸出數組和對象,但print_r對布爾型的輸出不太明顯;var_dump輸出比較詳細,一般調試時用得多。
如下代碼:
複製代碼 代碼如下:
$v = new test();
print_r($v);
var_dump($v);
class test {
public $num = 1;
public $str = "222";
public $bln = true;
結果為:
複製代碼 代碼如下:
test Object
(
[num] => 1
[str] => 222
[bool] => 1
)
object(test)#1 (3) {
["num"]=>
int(1)
["str"]=>
string(3) "222"
["bool"]=>
bool(true)
}
參考資料:
PHP程式設計,2003,第四章 字串,輸出字串  php學習之資料類型之間的轉碼複製代碼 代碼如下:


/*資料類型之間相互轉換
* 一種是強制轉換
* setType(變數,類型); //int,integer,float,double等等。
* 這個函數將原變數的類型改變,用var_dump();可以查看變數
*
* 在賦值前使用(類型)的形式,不會改變原變數的類型
* $a=(int)"123abc";
*
* $變數=intval(變數或值);
* $變數=floatval(變數或值);
* $變數=stringval(變數或值);
*
* 注意:整型在記憶體中佔4個位元組 2.147e9
* 浮點型在記憶體中佔8個位元組
*
*
* 一種是自動轉換(最常用方式),變數會更具運行環境自動轉換

* 與變數和類型有關的一些常用函數
* isset();//判斷一個變數是否存在,值如果是null也表示空。
* empty();//判斷一個變數是否為空白 "",null
* unset();//刪除一個變數
* setType();//設定一個變數類型
* getType();//擷取一個變數類型 var_dump();擷取類型和值
*
* 變數類型測試函數
* is_bool();//判斷是否為布爾型
* is_int() is_integer() is_long()//判斷是否是整型
* is_float(), is_double() is_real()//...
* is_array()
* is_object()
* is_resource()
* is_null()
* is_scalar()//判斷是否是標量
* is_numberic()//判斷是否是任何一種數字,或數字字串
* is_callable()//判斷是否是有效函數名

* 常量的聲明與使用
* 1.常量是一個簡單值的標識符
* 2.常量定義後不能再改變它的值,也不能使用unset()或其他的函數取消
* 3.常量可以不用理會變數範圍的規則而在任何地方都可以定義和訪問
* 4.常量使用define("常量名",值);
* 5.常量名在聲明和使用時都不使用"$"
* 6.常量名稱習慣都使用大寫
* 7.常量的值只能用標量類型(int,float,bool,string)
* 8.常量一定要在聲明時就給值
* 9.defined("常量");//判斷常量是否存在
*
* 預定義常量和魔術常量
* echo __FILE__;//輸出當前檔案名稱目錄_魔術常量
* echo CASE_LOWER;//輸出固定的值_預定義常量
*

*/
//這個函數將原變數的類型改變,用var_dump();可以查看變數
$str="100.12345abc";
setType($str,int);
var_dump($str);

//在賦值前使用(類型)的形式
$str="100.12345abc";
$a=(int)$str;
var_dump($a);//輸出int(100)
var_dump($str);//輸出值不變,"100.12345abc"
//如果字串不是以數字開頭,則轉換成0

//不同類型運算
$a=10;
$b="100abc";
$c=true;
$d=12.34;
$sum=$a+$c;//布爾型自動轉換成1,結果為11
$sum=$a+$b;//結果為110
$sum=$a+$b+$c;//結果為111
$sum=$a+$b+$c+$d;//結果為123.34,因為浮點型記憶體空間大,小記憶體轉大記憶體。

//判斷是否是數組
$a=array("one","two",1,3,6,8);
if(is_array($a)){
print_r($a);//列印數組
}else{
echo $a;
}

//定義常量,使用常量
define("home","this is a home");
$a=100;
function demo()
{
global $a;//因為$a是全域變數所以要用全域標記調用
echo $a;
echo home;//常量可以不用理會範圍,直接存取或者定義
}
demo();

//判斷常量是否存在
if(defined("home")
{
echo home;
}
else
{
define("home","this is a home");
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.