PHP入門之函數

前言

以前對PHP的類型、運算符和流程控制簡單說了一下。想了解的,這是地址。
PHP入門之類型與運算符
PHP入門之流程控制
下面對函數簡單說一下。php

函數的基本概念

爲完成某一個功能的程序指令的合集,稱爲函數。函數分爲自定義函數和系統函數。html

函數基本語法

function 函數名(參數列表){
語句;//函數(方法)主體
return語句; //返回值
}
函數的使用,能夠增長程序的複用性,若是一個應用程序的功能,須要反覆使用,若是不使用函數,那麼就是一直複製粘貼,複用性太差,若是使用函數,將這個功能封裝,想用這個功能,直接調用這個函數,方便多了。
舉個例子。
第一個頁面web

<?php
function jisuan($sum1,$sum2,$oper){
    $res=0;
    switch ($oper){
        case "+":
            echo $res=$sum1+$sum2;
            break;
        case "-":
            echo $res=$sum1-$sum2;
            break;
        case "*":
            echo $res=$sum1*$sum2;
            break;
        case "/":
            echo $res=$sum1/$sum2;
            break;
        default:
            echo '輸入有誤';
            break;
            return $res;
    }
}
?>

第二個頁面函數

<?php
require "1.php";
$sum1=20;
$sum2=30;
$oper="+";
$res=jisuan($sum1,$sum2,$oper);   #這裏能夠直接用實參,好比 $res=jisuan(2,3,'*')  結果等於6。
echo $res;
?>

兩個頁面相互調用細節

這裏須要瞭解四個函數
require()、require_once()
include()、include_once()
上面的兩個不一樣之處是require只要包含就引入,而require_once是先判斷有沒有,有就不包含了,沒有才包含。
include和include_once的不一樣和require的不一樣同樣。
那麼require的include的不一樣是什麼呢?
require遇到錯誤會報一個致命錯誤,終止程序。而include遇到錯誤會給一個警告,繼續執行程序。
舉個例子ui

a.php
<?php
   echo 'ok!';
}
?>
b.php                     #兩個ok!都會輸出。若是改成require_once,就只會輸出一個ok!
<?php
 require 'a.php';
 require 'a.php';
?>
a.php
<?php
   echo 'ok!';
}
?>
b.php                 #由於c不存在,因此會給一個警告,可是最後的hahaha仍是會輸出。若是改成require就會終止程序。
<?php
 include 'c.php';
 include 'a.php';
 echo 'hahaha'
?>

深刻理解函數調用,碰到函數就會 調用一個新棧。拿一段代碼舉例。code

<?php
function abc($n){
if($n>2){
abc(--$n);
}
echo '$n='.$n.'<br/>';    #輸出結果是$n=2 $n=2 $n=3
}
abc(4);
?>
  • 函數的參數列表能夠是多個,而且數據類型能夠是任意的類型。htm

  • 函數的命名跟自定義變量同樣,首字母只能使用_或者a_z或者A_Z。blog

  • 一個自定義函數中的變量是局部的,函數外不生效。get

  • 使用global全局變量的時候,可以使用函數外的變量。it

相關文章
相關標籤/搜索