PHP第二天

今天看的是其他人的文章哈 傳送門

一、PHP主要輸出方式

1唆貌、echo

echo() 實際上不是一個函數(shù)垢乙,是php語句追逮,因此您無需對其使用括號粹舵。不過眼滤,如果您希望向 echo() 傳遞一個以上的參數(shù)诅需,
那么使用括號會發(fā)生解析錯誤。而且echo是返回void的赵刑,并不返回值般此,所以不能使用它來賦值牵现。

<?php

$a = echo("words"); // 錯誤瞎疼!不能用來賦值

echo  "words"; // 55nav

echo  ("words"); // 55nav

echo   ("apple","bear"); //發(fā)生錯誤,有括號不能傳遞多個參數(shù)

echo    "alice","bill","cart", "daring";  // 不用括號的時候可以用逗號隔開多個值喜喂, 會輸出alicebillcartdaring  不管是否換行竿裂,最終顯示都是為一行

$fistname="alice";

echo "$fistname com"; // 如果 $firstname = "alice", 則會輸出 alice com.

echo '$firstname com'; // 由于使用單引號腻异,所以不會輸出$firstname的值,而是輸出 $firstname com

?>
2.print_r 函數(shù)

print_r函數(shù)打印關(guān)于變量的易于理解的信息给赞。

如果變量是string , integer or float , 將會直接輸出其值片迅,如果變量是一個數(shù)組皆辽,則會輸出一個格式化后的數(shù)組驱闷,便于閱讀空另,也就是有key和value對應(yīng)的那種格式。對于object對象類同摄杂。print_r有兩個參數(shù)匙姜,第一個是變量氮昧,第二個可設(shè)為true袖肥,如果設(shè)為true椎组,則會返回字符串寸癌,否則返回布爾值TRUE蒸苇。

<?php

print_r($arr);//直接打印數(shù)組$arr

$a="alice";

$c=print_r($a);

echo  $c;//$c的值是TRUE

$c=print_r($a,true);

echo       $c;           //$c的值是字符串a(chǎn)lice

?>
3.var_dump函數(shù)

功能: 輸出變量的內(nèi)容吮旅、類型或字符串的內(nèi)容、類型槽驶、長度鸳兽。常用來調(diào)試贸铜。

var_dump($a);

二聂受、PHP第一種特殊類型—資源

資源(resource):資源是由專門的函數(shù)來建立和使用的棍鳖,例如打開文件渡处、數(shù)據(jù)連接医瘫、圖形畫布旧困。我們可以對資源進行操作(創(chuàng)建吼具、使用和釋放)拗盒。任何資源怖竭,在不需要的時候應(yīng)該被及時釋放。如果我們忘記了釋放資源陡蝇,系統(tǒng)自動啟用垃圾回收機制痊臭,在頁面執(zhí)行完畢之后回收資源,以避免內(nèi)存被消耗殆盡登夫。

<?php
$file=fopen("f.txt","r");  //打開文件
$con=mysql_connect("localhost","root","root");  //連接數(shù)據(jù)庫
$img=imagecreate(100,100);//圖形畫布
?>

//偷窺一個小文件广匙,假設(shè)服務(wù)器上有個文件為“f.txt”,這時候悼嫉,我們就需要用到資源這種特殊的數(shù)據(jù)類型艇潭。

<?php
//首先采用“fopen”函數(shù)打開文件,得到返回值的就是資源類型。
$file_handle = fopen("/data/webroot/resource/php/f.txt","r");
if ($file_handle){   
 //接著采用while循環(huán)(后面語言結(jié)構(gòu)語句中的循環(huán)結(jié)構(gòu)會詳細介紹)一行行地讀取文件蹋凝,然后輸出每行的文字    
while (!feof($file_handle)) { //判斷是否到最后一行       
 $line = fgets($file_handle); //讀取一行文本      
  echo $line; //輸出一行文本        
echo "<br/>"; //換行  
  }
}
fclose($file_handle);//關(guān)閉文件?>
file handle叫做文件句柄鳍寂。在文件I/O中捍壤,要從一個文件讀取數(shù)據(jù)睹逃,應(yīng)用程序首先要調(diào)用操作系統(tǒng)函數(shù)并傳送文件名翼闹,并選一個到該文件的路徑來打開文件坚弱。該函數(shù)取回一個順序號,即文件句柄(file handle),該文件句柄對于打開的文件是唯一的識別依據(jù)。要從文件中讀取一塊數(shù)據(jù)埋市,應(yīng)用程序需要調(diào)用函數(shù)ReadFile污茵,并將文件句柄在內(nèi)存中的地址和要拷貝的字節(jié)數(shù)傳送給操作系統(tǒng)樱报。當(dāng)完成任務(wù)后盗飒,再通過調(diào)用系統(tǒng)函數(shù)來關(guān)閉該文件章喉。

fopen() 函數(shù)打開文件或者 URL部蛇。
如果打開失敗巷查,本函數(shù)返回 FALSE岛请。
語法:fopen(filename,mode,include_path,context)

  • filename必需。規(guī)定要打開的文件或 URL后室。
  • mode必需岸霹。規(guī)定要求到該文件/流的訪問類型痛黎【艘荩可能的值見下表水醋。
  • include_path可選拄踪。如果也需要在 include_path 中檢索文件的話撮弧,可以將該參數(shù)設(shè)為 1 或 TRUE。
  • context可選贸辈。規(guī)定文件句柄的環(huán)境擎淤。Context 是可以修改流的行為的一套選項。
    mode 參數(shù)的可能的值:
"r+"讀寫方式打開啼染,將文件指針指向文件頭。
"w"寫入方式打開,將文件指針指向文件頭并將文件大小截為零蚤霞。如果文件不存在則嘗試創(chuàng)建之。
"w+"讀寫方式打開,將文件指針指向文件頭并將文件大小截為零贪绘。如果文件不存在則嘗試創(chuàng)建之硬耍。
"a"寫入方式打開坯认,將文件指針指向文件末尾劳吠。如果文件不存在則嘗試創(chuàng)建之议慰。
"a+"讀寫方式打開洽糟,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。
"x"創(chuàng)建并以寫入方式打開吠裆,將文件指針指向文件頭祝旷。如果文件已存在柄冲,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創(chuàng)建之。
這和給底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標記是等價的闸餐。
此選項被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件地淀。
"x+"創(chuàng)建并以讀寫方式打開,將文件指針指向文件頭金赦。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE亥曹,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創(chuàng)建之厕鹃。
這和給底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標記是等價的。
此選項被 PHP 4.3.2 以及以后的版本所支持忆矛,僅能用于本地文件瞳腌。
注釋:不同的操作系統(tǒng)家族具有不同的行結(jié)束習(xí)慣挑宠。當(dāng)寫入一個文本文件并想插入一個新行時,需要使用符合操作系統(tǒng)的行結(jié)束符號÷偻基于 Unix 的系統(tǒng)使用 \n 作為行結(jié)束字符仑濒,基于 Windows 的系統(tǒng)使用 \r\n 作為行結(jié)束字符,基于 Macintosh 的系統(tǒng)使用 \r 作為行結(jié)束字符偷遗。 如果寫入文件時使用了錯誤的行結(jié)束符號墩瞳,則其它應(yīng)用程序打開這些文件時可能會表現(xiàn)得很怪異。
Windows 下提供了一個文本轉(zhuǎn)換標記("t")可以透明地將 \n 轉(zhuǎn)換為 \r\n氏豌。與此對應(yīng)還可以使用 "b" 來強制使用二進制模式喉酌,這樣就不會轉(zhuǎn)換數(shù)據(jù)。要使用這些標記泵喘,要么用 "b" 或者用 "t" 作為 mode 參數(shù)的最后一個字符泪电。
默認的轉(zhuǎn)換模式依賴于 SAPI 和所使用的 PHP 版本,因此為了便于移植鼓勵總是指定恰當(dāng)?shù)臉擞浖推獭H绻遣僮骷兾谋疚募⒃谀_本中使用了
\n 作為行結(jié)束符相速,但還要期望這些文件可以被其它應(yīng)用程序例如 Notepad 讀取,則在 mode 中使用 "t"鲜锚。在所有其它情況下使用
"b"突诬。
在操作二進制文件時如果沒有指定 "b" 標記,可能會碰到一些奇怪的問題芜繁,包括壞掉的圖片文件以及關(guān)于 \r\n 字符的奇怪問題旺隙。
注釋:為移植性考慮,強烈建議在用 fopen() 打開文件時總是使用 "b" 標記骏令。
注釋:再一次蔬捷,為移植性考慮,強烈建議你重寫那些依賴于 "t" 模式的代碼使其使用正確的行結(jié)束符并改成 "b" 模式榔袋。```
feof(fp) 函數(shù)檢測是否已到達文件末尾 (eof)周拐。
有兩個返回值:如果遇到文件結(jié)束,函數(shù)feof(fp)的值為非零值凰兑,否則為0速妖。
fgets() 函數(shù)從文件指針中讀取一行。
語法:fgets(file,length)
file必需聪黎。規(guī)定要讀取的文件。
length可選。規(guī)定要讀取的字節(jié)數(shù)稿饰。默認是 1024 字節(jié)锦秒。
從*file*指向的文件中讀取一行并返回長度最多為*length*- 1 字節(jié)的字符串。碰到換行符(包括在返回值中)喉镰、EOF 或者已經(jīng)讀取了*length*- 1 字節(jié)后停止(要看先碰到那一種情況)旅择。如果沒有指定*length*,則默認為 1K侣姆,或者說 1024 字節(jié)生真。若失敗,則返回 false捺宗。
注釋:*length*參數(shù)從 PHP 4.2.0 起成為可選項柱蟀,如果忽略,則行的長度被假定為 1024 字節(jié)蚜厉。從 PHP 4.3 開始长已,忽略掉*length*將繼續(xù)從流中讀取數(shù)據(jù)直到行結(jié)束。如果文件中的大多數(shù)行都大于 8 KB昼牛,則在腳本中指定最大行的長度在利用資源上更為有效术瓮。
注釋:從 PHP 4.3 開始本函數(shù)可以安全用于二進制文件。早期的版本則不行贰健。
注釋:如果碰到 PHP 在讀取文件時不能識別 Macintosh 文件的行結(jié)束符胞四,可以激活 auto_detect_line_endings 運行時配置選項。
fgetss() 函數(shù)從打開的文件中讀取一行并過濾掉 HTML 和 PHP 標記伶椿。與[fgets()](http://www.w3school.com.cn/php/func_filesystem_fgets.asp)相同辜伟,不同的是 fgetss 嘗試從讀取的文本中去掉任何 HTML 和 PHP 標記。
語法:fgetss(*file*,*length*,*tags*)
*file*必需悬垃。規(guī)定要讀取的文件游昼。
*length*可選。規(guī)定要讀取的字節(jié)數(shù)尝蠕。默認是 1024 字節(jié)烘豌。該參數(shù)在 PHP 5 之前是必需的。
*tags*可選看彼。規(guī)定不會被刪除的標簽廊佩。
可以用可選的第三個參數(shù)*tags*指定哪些標記不被去掉。若失敗靖榕,則返回 false标锄。

<?php
$file = fopen("test.htm","r");
echo fgetss($file,1024,"<p>,<b>");
fclose($file);
?>```
fclose() 函數(shù)關(guān)閉一個打開文件。
語法:fclose(file)
file必需茁计。規(guī)定要關(guān)閉的文件料皇。
file參數(shù)是一個文件指針。fclose() 函數(shù)關(guān)閉該指針指向的文件。如果成功則返回 true践剂,否則返回 false鬼譬。文件指針必須有效,并且是通過 fopen() 或 fsockopen() 成功打開的逊脯。

三优质、PHP第二種特殊類型—空類型

NULL(NULL):NULL是空類型,對大小寫不敏感军洼,NULL類型只有一個取值巩螃,表示一個變量沒有值,當(dāng)被賦值為NULL匕争,或者尚未被賦值避乏,或者被unset(),這三種情況下變量被認為為NULL汗捡。

      <?php
      error_reporting(0);                    //禁止顯示PHP警告提示
      $var;                                        //為變量未賦值
      var_dump($var);                     //NULL
      $var1=null;                              //將null賦值給變量$var1
      var_dump($var1);                      //NULL
      $var2=NULL;                           //將NULL賦值給變量$var2
      var_dump( $var2);                    //NULL
      $var3 = "節(jié)日快樂淑际!";
      unset($var3);                             //將變量$var3注銷定義
      var_dump($var3);                    //NULL
      ?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市扇住,隨后出現(xiàn)的幾起案子春缕,更是在濱河造成了極大的恐慌,老刑警劉巖艘蹋,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锄贼,死亡現(xiàn)場離奇詭異,居然都是意外死亡女阀,警方通過查閱死者的電腦和手機宅荤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浸策,“玉大人冯键,你說我怎么就攤上這事∮购梗” “怎么了惫确?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蚯舱。 經(jīng)常有香客問我改化,道長,這世上最難降的妖魔是什么枉昏? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任陈肛,我火速辦了婚禮,結(jié)果婚禮上兄裂,老公的妹妹穿的比我還像新娘句旱。我一直安慰自己阳藻,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布前翎。 她就那樣靜靜地躺著稚配,像睡著了一般。 火紅的嫁衣襯著肌膚如雪港华。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天午衰,我揣著相機與錄音立宜,去河邊找鬼。 笑死臊岸,一個胖子當(dāng)著我的面吹牛橙数,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播帅戒,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼灯帮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了逻住?” 一聲冷哼從身側(cè)響起钟哥,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瞎访,沒想到半個月后腻贰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡扒秸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年播演,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伴奥。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡写烤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拾徙,到底是詐尸還是另有隱情洲炊,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布锣吼,位于F島的核電站选浑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏玄叠。R本人自食惡果不足惜古徒,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望读恃。 院中可真熱鬧隧膘,春花似錦代态、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至萨驶,卻和暖如春歉摧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庄吼,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓膝但,卻偏偏與公主長得像,于是被迫代替她去往敵國和親谤草。 傳聞我的和親對象是個殘疾皇子跟束,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容