php中function 的用法

在我知道的程序語言中關于function這個命令都是用來定義函數的,下面我們來介紹一下關于在php中的function的用法。

用戶自定義函數也稱自定義函數,它們不是PHP提供的,是由程序員創建的.由于自己創建了這樣的函數,所以就可以完全控制這些函數.因此可以讓一個函數完全按照自己希望的方式運行.

1,申明函數

在PHP中,定義函數的方法同其他編程語言幾乎一樣.下面是PHP申明函數的語法結構:

代碼如下

Function function_name($argument1,$argument2,$argument3,......$argumentn)

{

//函數代碼code

Return 返回值;

}

以上語法結構中,關鍵字的含義如下.

(1)function:用于申明用戶自定義函數的關鍵字.

(2)function_name:要創建的函數名稱.該名稱將在以後被調用時使用.函數名應該唯一,因爲PHP不支持重載.在命名函數的時候,需要遵循和變量命名

相同的原則.但是函數名不能以$開頭,而變量可以.

(3)argument:要傳遞給函數的值.函數可以有多個參數,它們之間用逗號.但是參數項是可選的,可以在調用函數的時候不傳遞任何參數.

(4)code:是在函數被調用的時候執行的一段代碼.如果有兩條或者多條語句,則代碼必須用大括號"{}"括起來.但是,如果只有一條代碼,則不需要大括號.

(5)Return:將調用的代碼需要的值返回.任何類型都可以返回,包括列表和對象.這導致函數立即結束它的運行,並且將控制權傳遞回它被調用的行.

2,無參數函數

代碼func_1.php

代碼如下

<?php
require 'a.php';
echo "我不會被執行!";

?>

3,有參數函數

PHP支持按值傳遞參數(默認),通過引用傳遞和默認參數值.可變長度參數列表僅在PHP4和後繼版本中被支持.

(1)值傳遞參數.按值進行參數傳遞是PHP的默認傳遞方式.使用這個方法,必須在主程序調用時傳遞一個值(參數).

代碼sum.php

代碼如下
<?php
function sum ($a,$b)
{
Echo $a+$b;
}
sum(100,20); //開始調用該函數
?>

(2)引用參數.在按照值傳遞的時候,只有參數的副本傳遞給被調用的函數.但是在被調用函數內部對這些值的任何修改,都不會影響調用函數

中的原始值.引用傳遞其實也就是地址傳遞,將一個變量的地址作爲參數傳遞.

代碼valuechange.php

代碼如下

<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>

(3)默認值參數.使用默認的參數值傳遞方法,函數必須在調用的時候有一個參數.如果沒有使用的值,就把默認值傳遞給函數參數.默認值必須是常量表達式,不是變量,

類成員或者函數調用.

提示:當使用默認參數時,任何默認參數必須放在非默認參數的右側;否則,可能函數不會按照預期的情況工作.

代碼func_default.php

代碼如下
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
更多相關文章
  • function在js中用來定義函數的,下面我來給大家介紹function函數定義的用法與傳值及function返回值等等相關內容,有需了解function的朋友可參考.javascript中的function可以用來創建方法.也可以用來創建類,實際上我們可以認爲是用function來模擬出的類(說
  • mysql中FUNCTION xxx.LEN does not exist錯誤 有需要的朋友可參考一下.今天在mysql想使用自帶函數來檢測字段內容長度如 代碼如下 select id from bb where l
  • 本文章來介紹了關于在oracle中REF Cursor用法,有需要的朋友可以參考一下下.1,什麽是 REF遊標 ? 動態關聯結果集的臨時對象.即在運行的時候動態決定執行查詢. 2,REF 遊標 有什麽作用? 實現在程序間傳遞結果集的功能,利用REF CURSOR也可以實現BULK SQL,從而提高S
  • jquery中(function($){...})(jQuery)是什麽大家可參考本文章.這裏實際上是匿名函數function(arg){...}這就定義了一個匿名函數,參數爲arg而調用函數 時,是在函數後面寫上括號和實參的,由于操作符的優先級,函數本身也需要用括號,即:(function(arg
  • 本文章來給大家介紹js中document.createElement用法與一些不同浏覽器兼容性的介紹,有需要了解的朋友不防參考.W3C DOM Level2 Core規定,Document 接口下的 createElement 方法可以創建一個元素節點對象實例.它可以傳入一個字符串參數 tagNam ...
  • 本文章給大家來探討一下關于js中function函數設置參數有默認值具體方法,有需要了解的同學可參考在php中我可以這樣寫 代碼如下 function abcccc ($a=1,$b=2){ return $a+$b;} 調用可直接 代碼如下 abccc()abccc(1)abccc(1,1) 但在 ...
  • 文章來詳細的介紹了關于linux中uname命令用法的用法,uname 命令可用于大多數 UNIX 和類 UNIX 系統以及 Linux.功能說明:uname用來獲取電腦和操作系統的相關信息.語 法:uname [-amnrsvpio][--help][--version]補充說明:uname可顯示
  • limit_conn在nginx中是起到一個限制連接數的功能了,今天我們一起來看一篇nginx系統中limit_conn使用法.ngx_http_limit_conn_module 模塊可以按照定義的鍵限定每個鍵值的連接數.特別的,可以設定單一 IP 來源的連接數.並不是所有的連接都會被模塊計數:只 ...
  • session是php中一個很常用的全局變量了,下面我來給初學者來介紹關于php session一些用法總結,希望些方法對各位初學php朋友會有幫助哦,下面大家一起來看看吧.PHP服務端默認的session存儲是文件存放方式,在Windows上PHP默認的Session服務端文件存放在C:/WIND
一周排行
  • 本文我們總結了jQuery操作DOM的事件,及jQuery針對DOM插入操作的方法,這些都是jQuery高級技巧,學習jQuery可以掌握.頁面載入之DOMReady事件所謂domReady,也就是文檔就緒,我們都知 ...
  • mysql下distinct和group by一個是取唯一的,一個是分組了,那麽mysql下distinct和group by的區別與效能那個會好一些呢?下面一起來看看對比.在數據表中記錄了用戶驗證時使用的書目,現在 ...
  • 本文章來給大家轉一篇關于Oracle.DB2.PostgreSQL之Sequence用法總結吧,希望此方法對大家有所幫助. Sequence是數據庫系統按照一定規則自動增加的數字序列.這個序列一般作爲代理主鍵(因爲不
  • 三星LED液晶電視如何如何開啓開機徽標(HU6000系列)
    三星HU6000系列LED液晶電視默認開機時會顯示SMART TV徽標了,如果你不喜歡我們
  • 手機UC浏覽器怎麽截圖 UC浏覽器截圖教程
    手機UC浏覽器怎麽截圖?現在的浏覽器都自帶的截圖功能了,下面我們一起來看看UC浏覽器截圖方
  • spring secruity 數據庫方式配置用戶登錄
    文章給大家轉一篇關于spring secruity 數據庫方式配置用戶登錄,希望此文章對大
  • 是數據庫教程連接字符串,必要的如下: New SqlConnection( "Server=LocalHost;DataBase=Pubs;UID=sa;PWD=123 ")下面先看個實例SqlC ...
  • 文章介紹了兩個實例一個是FOR循環創建一個Mandelbrot圖像,循環結構之DO語句,根據布爾值的測試結果,執行相應代碼,有需要的朋友可參考一下.本示例的FOR循環創建一個Mandelbrot圖像. 代碼如下 us
  • 蘋果iphone4s ios8.3降級iOS6.1.3的教程
    iphone4s ios8.3怎麽降級iOS6.1.3?升級了ios8.3之發現了不少的問
  • 在很多情況下我們使用ajax是不會有什麽問題了,但有時會碰到ajax數據提交post不完整的問題,希望文章對各位同學會帶來幫助.下邊是一個標准的ajax請求代碼,正常情況下是不會有任何問題的,但是...在特定情況下就