iT邦幫忙

0

Day 40 (PHP)

  • 分享至 

  • xImage
  •  

1.陣列抓值

(1)打開$person的'programs'(key) 抓 $language(vaule)

     <?php
     $person['name'] = 'Brad';
     $person['age'] = 18;
     $person['weight'] = 80;
     $person['programs'] = ['PHP', 'Java', 'C', 'Swift'];

     foreach ($person['programs'] as $language) {
         echo "{$language}<br />";
     }

(2)$p 抓 $key(key) 及 $value(vaule)

     foreach ($p as $key => $value) {
         echo "{$key}點出現{$value}次<br />";
     }

2. 網頁內的所有key及vaule,環境變數: $ _ SERVER

想知道這是甚麼,可以跑這個迴圈慢慢拆(可以把Array都打開)

   foreach ($_SERVER as $key => $value) {

    //有array繼續打開
    if (gettype($value) == 'array') {
        echo "{$key} => ";
        foreach ($value as $kk => $vv) {
            echo "{$kk} : {$vv}<br />";
        }
        echo "===<br />";
    } else {
        echo "{$key} : {$value}<br />";
    }
}

$ _ 還有很多變數可以用ex:$_GET、$_COOKIE...


3.函數

(1)看全部有幾個? echo func_num_args()

    sayHelloV4('Brad', 'Eric', 'Amy');

    function sayHelloV4()
    {   
        echo func_num_args()  //3
    }

(2)第幾個是誰? echo func_get_arg(0)

    function sayHelloV4()
    {   
         echo func_get_arg(0);  //Brad
         echo func_get_arg(1);  //Eric
         echo func_get_arg(2);  //Amy
    }

(3)看全部,使用foreach

    $args = func_get_args();
    function sayHelloV4()
    {   
        foreach ($args as $name) {
        echo "Hello, {$name}<br />";
        }
    }

(4)與var_dump 的差異

    function sayHelloV4()
    {   
        var_dump($args);
    }

    //array(3) { [0]=> string(4) 
    //"Brad" [1]=> string(4) "Eric" [2]=> string(3)
    // "Amy" } Hello, Brad

4.PHP字串的Function - strpos 找字串位置

https://www.php.net/manual/en/ref.strings.php

    $mystr = 'abcdefg';
    $findme = 'd';

    if (strpos($mystr, $findme) !== false) {       // !== false 全不等
                                                   //(TURE,非0、NULL...)
        echo "find: " . strpos($mystr, $findme);   //.字串相加
    } else {
        echo "not found";
    }

5.強制進IF判斷的方法

!== false
全不等於,才不會進來判斷

    if (strpos($mystr, $findme) !== false) {     
        echo "{$mystr}.{$findme}<br>";
        echo "find: " . strpos($mystr, $findme);  //.字串相加
    } else {
        echo "not found";
    }

6.PHP字串的Function

    if (strlen($id) == 10) {            //長度=10
        if (strpos('ABCDEFGHIJKLMNOPQRSTUVWXYZ',substr($id, 0, 1)) !== false)

        // strpos $id第一碼(substr)的字在字串的第幾個位置(回傳int)
        // substr 從0開始 , 第一碼 
        // 如果!== false(0)
        // 輸出OK

        {
            echo 'ok';
        } else {
            echo 'X2';
        }
    } else {
        echo 'X1';
    }

7.PHP - 正規表示法 - preg_match

https://www.php.net/manual/en/function.preg-match
https://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F

        $id = 'A123456789';
        $regex = '/^[A-Z][12][0-9]{8}$/';  //[12]1或2 {8}8碼
        
        // $id 是否符合 $regex 

        if (preg_match($regex, $id)) {
            echo 'OK';
        } else {
            echo 'XX';
        }

8.引用PHP已經寫好的函式include

        include "bradapis.php";
        include "myphp/bradapis.php";  //可以從不同資料夾

9.寫程式邏輯:

舉例:身分證號碼隨機產生
4.的限制最多,所以以他為依歸,其他1.2.3.例子引用4.
這樣就只維護4.就行了~

1.亂數

    function createTWIdByRandom()
    {
        $gender = rand(0, 1) == 0;
        return createTWIdByGender($gender);
    }

2.指定性別

    function createTWIdByGender($gender = false)
    {
        $letters = 'ABCDEFGHJKLMNPQRSTUVXYWZIO';
        $area = substr($letters, rand(0, 25), 1);
        return createTWIdByBoth($gender, $area);
    }

3.指定地區

    function createTWIdByArea($area = 'B')
    {
        $gender = rand(0, 1) == 0;
        return createTWIdByBoth($gender, $area);
    }

4.性別跟地區都指定

    function createTWIdByBoth($gender, $area)
    {
    }

10.PHP送資料用submit 非button

    <input type="submit" value="Register" />

11.$_REQUEST 與 $_GET 與 $_POST 差異

    $_GET 只收 method="get"     密碼顯示瀏覽器,好處:開發看的到
    $_POST 只收 method="post"   密碼不顯示
    $_REQUEST 收 method="get" method="post" 

12.File System 檔案系統 API

https://www.php.net/manual/en/refs.fileprocess.file.php

用phpinfo();
檢查自己PHP的File System有沒有安裝或是目前版本


13.內部檔案相關

opendir - 開啟檔案
https://www.php.net/manual/zh/function.opendir.php
readdir - 讀取檔案(只讀同一層)
https://www.php.net/manual/zh/function.readdir.php
https://ithelp.ithome.com.tw/upload/images/20210805/20137684Z56oWsknri.png

closedir - 關閉檔案
https://www.php.net/manual/zh/function.closedir

exit - 讀不到檔案會顯示
https://www.php.net/manual/zh/function.exit


14.while()內,只能丟一個bolling值(0、1、TURE、FALES)

    while ($row = readdir($fp)) { 
      }

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言