1. 程式人生 > >PHP的基本語法(二)

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);