2019年3月13日 星期三

PHP_區域變數、全域變數、靜態變數

全域變數與區域變數
$gg=100;
function a(){
 $gg=1000;   <--它的作用域只限於function內,不會影
echo $gg;    //響到函式以外的原先資料
};
echo $gg;
a();
echo $gg;

輸出結果:
100
1000
100

如果想讓function內的$gg變成全域變數可使用global,或是以$GLOBALS[]陣列來做修改,

            $gg=100;
            echo $gg."<br>";
            function a(){
            global $gg;
            $gg=1000;
            echo $gg."<br>";
            };
            a();
            echo $gg."<br>";

輸出結果:
100
1000
1000




若希望函式中的區域變數能一直存在,可以使用static來將變數設定成靜態變數,如:

function staticDemo(){
                static $num=0;
                $num++;
                echo "我使用了{$num}次的staticDemo<br>";
            }
            staticDemo();
            staticDemo();
            staticDemo();
輸出結果:
我使用了1次的staticDemo
我使用了2次的staticDemo
我使用了3次的staticDemo

沒有使用static:

            function nostaticDemo(){
                $num=0;
                $num++;
                echo "我使用了{$num}次的staticDemo<br>";
            }
            nostaticDemo();
            nostaticDemo();
            nostaticDemo();

輸出結果:
我使用了1次的staticDemo
我使用了1次的staticDemo
我使用了1次的staticDemo










PHP_傳值呼叫與傳址呼叫

傳值呼叫

<?php

$aa=5;
function showDemo($aa){
  $aa= $aa*5;
   echo "這是函式內的值:".$aa."<br>";
}

echo   "這是函是外的值:".$aa."<br>";
?>
將會輸出結果:

這是函式內的值:25
這是函是外的值: 5


傳址呼叫

<?php

$aa=5;
function showDemo(&$aa){
  $aa= $aa*5;
   echo "這是函式內的值:".$aa."<br>";
}

echo   "這是函是外的值:".$aa."<br>";

將會輸出結果:

這是函式內的值:25
這是函是外的值: 25


傳值與傳址差別在於傳址的函是需要加上&,否則預設都是使用傳值

PHP_引入檔注意事項

在PHP使用引入檔案時,可自訂副檔名,但自訂副檔名,可以讓user下載檢視,造成安全上的漏洞,所以建議還是建議將副檔名設定成.php。

PHP_檔案引入include與require差異與用法

在php中可以使用include與require將檔案引入,其用法如下

include

include("檔案路徑");
或是
include "檔案路徑";

require

require("檔案路徑");
或是
require  "檔案路徑";

include範例:
----------------------------------------------
include.php

<?php 
    function ggr(){
    echo "我是include的";
};
?>
----------------------------------------------
index.php

<?php
        include "include.php";
        echo "<br>";
        ggr();
    ?>





require範例:
----------------------------------------------
require.php

<?php 
    function ggr(){
    echo "我是require的";
};
?>
----------------------------------------------
index.php

<?php
        require "require.php";
        echo "<br>";
        ggr();
    ?>


include與require的差異
1.當引入的檔案不存在的時候
 inculde會顯示警告訊息,並繼續執行下去
 require會產生錯誤訊息,並停止執行
2.
include載入檔案執行時,文件每次都會進行讀取和評估(若是在迴圈或判斷式中引入檔案的話,建議使用include)
require文件只需處理一次(若使用頻率較高,建議使用require)

3.

include可以return
require不能return



include_once與require_once的使用方式,與原本的一樣,其目的是在檢查是否有重複載入,或是載入過多相同資源,造成執行上的負擔。




2019年3月12日 星期二

PHP_錯誤控制運算子

錯誤控制運算子(小老鼠):

@

抑制錯誤訊息的顯示,在開發時盡量少使用

<?php
  $fff=@fopen("text.txt");
?>

2019年3月11日 星期一

HTML 全域屬性

HTML 全域屬性

accesskey="快速鍵"

class="類別名稱"

contenteditable="能否編輯"(true or false)

contextmenu="menu元素的id屬性值"

dir="文字的走向"(ltr=>由左而右,rtl=>由右而左)

draggble="能否拖曳" (ture or false)


HTML DOCTYPE宣告

HTML4.01
<!DOCTYPE HTML PUBLIC "-//W3C// HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

HTML5
<!DOCTYPE>

文字編碼指定
HTML4.01
<meta http-equiv="Content-Type"
content="text/html;charset=UTF-8">

HTML5
<meta charset="UTF-8">