PHP的基本語法(二)
導讀:
PHP也有邏輯判斷結構:if 、 if……else、if...elseif...、switch
PHP中也有邏輯判斷結構:while、do……while、for、foreach
一、foreach
foreach($array as $value){}
foreach 只適用於陣列,用於遍歷陣列中的每一個鍵/值。
二、函式
自定義函式關鍵點是:函式名、引數、返回值。
函式名必須以字母或下劃線開頭,php對函式名的大小寫不敏感;引數和變數類似;引數可以設定預設值;
三、陣列
3.1 PHP中可以定義三種類型的陣列。
索引陣列——帶有數字索引的陣列,如:$array01 = array("aaa","bb","ccc");
關聯陣列——帶有指定鍵的陣列,如:$array02 = array("a"->"aa","b"->"bbb","c"->"ccc");
多維陣列——包含一個或多個數組的陣列。
3.2 建立陣列通過array()函式,獲取陣列的長度,通過count($array)方法。
3.3 遍歷關聯陣列:
for ($array02 as $key->$value){}
3.4 對陣列進行排序
sort()升序排序、rsort()降序排序、asort()對陣列值升序排序、arsort()對陣列值降序排序、ksort()對陣列鍵升序排序、krsort()對陣列鍵降序排序
四、超全域性變數
PHP中很多預定義變數都是超全域性變數。無須任何程式碼,就可以在任何函式、類或檔案訪問它們。
4.1 $GLOBALS
4.2 $_SERVER
4.3 $_REQUEST
4.4 $_POST
4.5 $_GET
五、時間
date(form,timestrip)、date_default_timezone_set()、mktime、strtotime()
5.1 date() ,根據時間戳返回當前時間,第二個引數可以不寫,預設是當前時間戳
# Y m d h i s a
$nowDatetime = date("Y-m-d h:i:s a");
echo $nowDatetime;
5.2 date_default_timezone_set(),用於設定時區
如果使用date()返回的時間不正確,可能是因為伺服器位於其他國家或被設定成其他時區
/*
如果使用date()返回的時間不正確,可能是因為伺服器位於其他國家或被設定成其他時區,
設定正確的時區之後,就可以返回正確的值了。
*/
date_default_timezone_set("Asia/Shanghai");
# date
# Y m d h i s a
$nowDatetime = date("Y-m-d h:i:s a");
echo $nowDatetime;
echo "<br>";
echo "now is ".date("H:i:sa")."<br>";
5.3 mktime() 返回之間戳
mktime(hour,minute,second,month,day,year);
# mktime 返回時間戳
# mktime(hour,minute,second,month,day,year);
$d = mktime(5,30,00,12,18,2018);
echo $d;
echo "<br>";
echo date("Y-m-d",$d);
5.4 strtotime() 使用字串建立時間
# 使用字串建立時間
$d02 = strtotime("2018-10-11");
echo "<br>".date("Y-m-d H:i:s",$d02)."<br>";
六、php中的包含
通過include或require語句,可以將php的檔案內容插入到另一個檔案中。
include:包含檔案如果不存在,會繼續載入頁面;
require:包含檔案如果不存在,會停止載入頁面。
<body>
<h1>Welcome to here.</h1>
<?php
//include "footera.php";
echo "<br>require<br>";
require "footera.php";
echo "aaa:<br>$color,$car<br>";
echo "I have a dream.";
?>
</body>
當需要包含的檔案不是必須的時候,使用include,否則使用require。
七、讀取檔案
7.1 開啟,關閉檔案
fopen(),fclose()
# 開啟檔案
$myFile = fopen("readyFile.txt","r") or die("file not exists.");
# 讀取檔案內容
// fread() 第一個引數,是開啟的檔案,第二個引數要讀去的檔案位元組數
echo filesize("readyFile.txt")."<br>";
echo fread($myFile,filesize("readyFile.txt"));
# 關閉檔案
fclose($myFile);
7.2 讀取一行
fgets()
#開啟檔案
$myFile = fopen("readyFile.txt","r+") or die("file not exists");
// 讀取單行檔案
echo "<br>read one line.<br>";
echo fgets($myFile);
# 關閉檔案
fclose($myFile);
7.3 一行一行,迴圈讀取
feof() 、fgets()
echo "<p>迴圈讀取檔案</p>";
#開啟檔案
$myFile = fopen("readyFile.txt","r+") or die("file not exists");
// feof() 檢查指標是否到達檔案最後
while(!feof($myFile)){
echo fgets($myFile);
echo "<br>";
}
echo fgets($myFile);
# 關閉檔案
fclose($myFile);
7.4 一個字元一個字元,迴圈讀取檔案
feof()、fgetc()
echo "<p>讀取單個字元,知道檔案末尾</p>";
#開啟檔案
$myFile = fopen("readyFile.txt","r+") or die("file not exists");
// 讀取單個字元,直到檔案末尾
while(!feof($myFile)){
echo fgetc($myFile);
}
fclose($myFile);
7.5 覆蓋式的寫入檔案,如果檔案不存在,就建立一個新檔案
echo "<p>向檔案中寫入內容</p>";
$myFile = fopen("writeFile.txt","w") or die("Write to file failed.");
fwrite($myFile,"Li Fei\r");
fwrite($myFile,"zy");
fclose($myFile);
7.6 向檔案裡追加內容,如果檔案不存在,就建立一個新檔案
echo "<p>向位你就愛你中追加內容</p>";
$myFile = fopen("writeFile.txt","a") or die("write file failed");
fwrite($myFile,"\rI have a dream.");
fclose($myFile);