函式的靜態變數 static

weixin_33890499發表於2017-02-17

static :靜態變數:只有未定義時才會宣告,否則值會累加,獲取最近的值操作;

<?php
function set($sum){
    $x=10;
    $x+=$sum;
    return $x;

}
echo set(20),'<br/>';//30
echo set(10),'<br/>';//20 每次$x重新宣告;生命週期是函式呼叫結束;
function setA($sum){
   static $x=10;//靜態變數;未定義時才會宣告;否則值會累加,獲取最近的值操作;
    $x+=$sum;
    return $x;

}
echo setA(20),'<br/>';//30
echo setA(10),'<br/>';//40
function setArr($a){
    static $newArr=array();
    $newArr[]=$a;
    return $newArr;
}
print_r(setArr(5));//Array ( [0] => 5 )
print_r(setArr(4));// Array ( [0] => 5 [1] => 4 )
?>

遞迴函式

進入函式,最後有明確值才會進行計算;效能比較低

<?php
//計算任意資料的階乘;先進,最後有明確值才會進行計算;效能比較低
function product($x){
    if($x==1)return 1;//必須return 才有返回值;
    return $x*product($x-1);//必須eturn 才有返回值;
}
echo product(5);
?>

常量

內建常量
echo PHP_VERSION;//獲取PHP版本號;
echo DIR;//獲取當前資料夾路徑;定位到資料夾
echo FILE;//獲取當前檔案路徑;定位到具體檔案
echo LINE;//獲取當前行;
自定義常量,定義後不能更改;
define('常量名',值);
defined('常量名')//判斷常量是否定義;

<?php
define('_NAME','png');
print_r(defined('_NAME'));//1,沒有的話為空;
echo _NAME;//png
?>

required include

//pow(2,5);等於2的5次方;
//require,require_once,include,include_once
帶有once的會檢測指定的檔案是否已被包含過,沒有則包含,有則不再包含;
require ;require_once
include;include_once
ini_get;ini_set
trim();ltrim();rtrim()
strrpos();strripos()

<?php
  //require,與include區別是報錯不同
   //當沒有找到指定的路徑時,將會在php.ini中include_path設定的選項中查詢
  //如果還未找require 則報fatal error ;include報警告;
    $path=ini_get('include_path');//獲取php.ini設定的選項值;
    //從右至左查詢指定的字串;strripos;忽略大小寫,第三個引數是從倒數第 5 個位置開始查詢;找到就返回相應的索引,沒有找到返回false
    echo strrpos('abad',';',-2);
    //rtrim,ltrim,trim,子字串省略時,刪除字串的空字串;
    echo rtrim('#avbsd#','#');//刪除字串右邊的子字串;
    echo ltrim('#avbsd#','#');//刪除字串左邊的子字串;
    echo trim('#avbsd#','#');//刪除字串兩邊的子字串;
    echo ini_set('include_path','d:/contains');//設定php.ini設定的選項值;只在當前指令碼有效;
    echo '<br/>';
    //新增多個路徑,用';'隔開;
    $path=rtrim($path,';').';';
    echo ini_set('include_path',$path.'d:/contains');
    $path=ini_get('include_path');
    //require致命錯誤;include警告;
    //有once,包含過,就不在執行一次;
?>

匯入html檔案

<?php
include 'static/header.html';
?>
<div class="main">
    body-start
    <?php
    include 'static/body.html';
    ?>
    body-end
</div>
<?
include 'static/footer.html';
?>

相關文章