国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PHP8中自定義函數(shù)-PHP8知識詳解

這篇具有很好參考價值的文章主要介紹了PHP8中自定義函數(shù)-PHP8知識詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、什么是函數(shù)?

函數(shù),在英文中的單詞是function,這個詞語有功能的意思,也就是說,使用函數(shù)就是在編程的過程中,實現(xiàn)一定的功能。即函數(shù)就是實現(xiàn)一定功能的一段特定代碼。

在前面的教學中,我們已經(jīng)學習到了函數(shù)的使用了,比如,使用define()函數(shù)定義一個常量。在這里我們來講解自定義函數(shù)。

任何有效的?php?代碼都有可能出現(xiàn)在函數(shù)內(nèi)部,甚至包括其它函數(shù)和 類 定義。

函數(shù)名和 PHP 中的其它標識符命名規(guī)則相同。有效的函數(shù)名以字母或下劃線打頭,后面跟字母,數(shù)字或下劃線??梢杂谜齽t表達式表示為: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$。

PHP 中的所有函數(shù)和類都具有全局作用域,可以定義在一個函數(shù)之內(nèi)而在之外調(diào)用,反之亦然。

PHP 不支持函數(shù)重載,也不可能取消定義或者重定義已聲明的函數(shù)。

PHP8中自定義函數(shù)-PHP8知識詳解,PHP8知識詳解,php,PHP開發(fā),正則表達式

2、什么是自定義函數(shù)?

自定義函數(shù)是一種在編程中創(chuàng)建的用戶自定義的功能代碼塊。它們允許程序員定義自己的函數(shù),并根據(jù)需要在程序中調(diào)用它們。自定義函數(shù)可以接收參數(shù),執(zhí)行特定的任務,并返回一個值。

通過使用自定義函數(shù),程序員可以將復雜的任務分解為更小的可重用代碼塊,提高代碼的可讀性和可維護性。自定義函數(shù)是編程中常用的概念,幾乎在所有的編程語言中都有支持。在PHP8中也不例外。

3、定義和調(diào)用函數(shù)

一般情況下,程序員面對的是自定義函數(shù)。其語法結構如下:

function 函數(shù)名稱(參數(shù)1,參數(shù)2,……){
??函數(shù)的具體內(nèi)容;
}

函數(shù)定義完成以后,即可調(diào)用這個函數(shù)。調(diào)用函數(shù)的操作比較簡單,直接引用函數(shù)名并賦予正確的參數(shù),即可完成函數(shù)的調(diào)用。

<?php

// 定義一個函數(shù)
function myfun($a, $b) {
? ? $sum = $a + $b;
? ? $product = $a * $b;
? ??
? ? // 返回求和和求積的結果作為數(shù)組
? ? return array($sum, $product);
}

// 調(diào)用myfun()函數(shù)并輸出結果
$results = myfun(10, 20);
echo "求和計算結果是: " . $results[0] . "<br>";
echo "求積的計算結果是: " . $results[1];

?>

以上代碼在PHP8中的運行結果為:

求和計算結果是: 30
求積的計算結果是: 200

4、函數(shù)中的變量作用域

所謂?變量作用域,是指特定變量在代碼中可以被訪問到的位置。在PHP8中,有6種基本變量作用域法則:

一、內(nèi)置超全局變量。在代碼中任意位置都能訪問的變量。

二、常數(shù)。一旦聲明,他就是全局性的,可以在函數(shù)的內(nèi)外使用。

三、全局變量。在代碼聲明中,可以愛代碼中訪問,但是不能在函數(shù)內(nèi)部訪問。

四、在函數(shù)中聲明為全局變量的變量。就是同名的全局變量。

五、在函數(shù)中創(chuàng)建和聲明為靜態(tài)變量的變量。該變量在函數(shù)外是無法訪問的,但是這個靜態(tài)變量的值是可以保留的。

六、在函數(shù)中創(chuàng)建和聲明的局部變量。在函數(shù)外是無法訪問的,并且在本函數(shù)終止時終止并推出。

4.1、超全局變量

PHP 中的許多預定義變量都是“超全局的”,這意味著它們在一個腳本的全部作用域中都可用。在函數(shù)或方法中無需執(zhí)行 global $variable; 就可以訪問它們。

這些超全局變量是:

$GLOBALS:它是一個包含了當前腳本中所有全局變量的數(shù)組。

$_SERVER:它是一個包含了服務器和執(zhí)行環(huán)境信息的數(shù)組,如 HTTP 請求頭、路徑等。

$_GET:它是一個包含通過 GET 方法傳遞給當前腳本的參數(shù)和值的數(shù)組。

$_POST:它是一個包含通過 POST 方法傳遞給當前腳本的參數(shù)和值的數(shù)組。

$_FILES:它是一個包含上傳文件的相關信息的數(shù)組,包括文件名、類型、大小等。

$_COOKIE:它是一個包含客戶端發(fā)送的 Cookie 的相關信息的數(shù)組。

$_SESSION:它是一個包含用戶會話數(shù)據(jù)的數(shù)組,用于存儲特定用戶在不同頁面之間共享的數(shù)據(jù)。

$_REQUEST:它是一個包含了通過 HTTP 請求方法(GET、POST和COOKIES)傳遞給當前腳本的參數(shù)和值的數(shù)組。

$_ENV:它是一個包含環(huán)境變量的數(shù)組,這些變量是由操作系統(tǒng)或?web?服務器設置的。

請注意,對這些超全局變量進行直接引用可能存在安全性和可靠性問題。在使用時,請確保驗證和過濾來自用戶的輸入以防止?jié)撛诘陌踩┒础?/p>

4.2、全局變量

全局變量就是在函數(shù)外聲明的變量,在代碼中可以訪問,但是在函數(shù)內(nèi)部是不能訪問的。這是因為函數(shù)默認就不能訪問起外部的全局變量。

函數(shù)內(nèi)訪問全局變量示范代碼:

<?php
$a = "PHP";  //定義全局變量
function xuexi() {? ? ? ? ? ?// 定義一個函數(shù)
echo "正在學習的是: " .$a;   //函數(shù)內(nèi)調(diào)用全局變量
}
xuexi();    //運行函數(shù)
?>

在PHP8中運行的結果為:

Warning: Undefined variable $a in D:\phpenv\www\localhost\test.php on line 4
正在學習的是:

上面內(nèi)容明顯是異常信息,如果想讓函數(shù)訪問某個全局變量,可以在函數(shù)中使用global關鍵字來聲明。

使用global關鍵字訪問全局變量,示例代碼:

<?php
$a = "PHP";? //定義全局變量
function xuexi() {? ? ? ? ? ?// 定義一個函數(shù)
global $a;? ? ? ? ? ? ? ? ? ?//函數(shù)內(nèi)聲明全局變量
echo "正在學習的是: " .$a;? ?//函數(shù)內(nèi)調(diào)用全局變量
}
xuexi();? ? //運行函數(shù)
?>

在PHP8中運行的結果為:

正在學習的是: PHP

也可以使用超全局變量中的$GLOBALS數(shù)組進行訪問。

使用$GLOBALS數(shù)組進行訪問全局變量,示范代碼:

<?php
$a = "PHP8";? //定義全局變量
function xuexi() {? ? ? ? ? ?// 定義一個函數(shù)
$a = $GLOBALS["a"];? ? ? ? ? //通過$GLOBALS數(shù)組訪問全局變量
echo "正在學習的是: " .$a;? ?//函數(shù)內(nèi)調(diào)用全局變量
}
xuexi();? ? //運行函數(shù)
?>

在PHP8中運行的結果為:

正在學習的是: PHP8

3、靜態(tài)變量

靜態(tài)變量只是在函數(shù)內(nèi)存在,函數(shù)外無法訪問。但是執(zhí)行以后,其值會保留。

也就是說,這一次執(zhí)行完畢以后,這個靜態(tài)變量的值保留,下一次執(zhí)行此函數(shù),這個值還可以調(diào)用。

當在 PHP 8 中使用靜態(tài)變量時,您可以在函數(shù)內(nèi)部聲明一個變量,并在后續(xù)的調(diào)用中保持其值不變。這樣做可以在多次函數(shù)調(diào)用之間共享數(shù)據(jù)。

以下是一個示例代碼:

<?php
function increment() {
? ? static $counter = 0;
? ? $counter++;
? ? echo "Counter value: " . $counter . "<br>";
}

increment(); 
increment(); 
increment(); 
?>

以上代碼在PHP8中運行的結果為:

Counter value: 1
Counter value: 2
Counter value: 3

在上面的代碼中,我們定義了一個名為 $counter 的靜態(tài)變量,并初始化為 0。每當 increment() 函數(shù)被調(diào)用時,該變量都會自增并輸出當前計數(shù)器的值。

由于 $counter 是一個靜態(tài)變量,在函數(shù)調(diào)用之間它的值得以保持和共享。因此,每次調(diào)用 increment() 都會使計數(shù)器遞增。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-666088.html

到了這里,關于PHP8中自定義函數(shù)-PHP8知識詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • PHP8知識詳解:PHP8開發(fā)工具VS Code的安裝

    PHP8知識詳解:PHP8開發(fā)工具VS Code的安裝

    作為PHP8的開發(fā)工具有很多,具有IDE功能的有phpstorm、Visual Studio Code、Sublime Text、NetBeans、Eclipse、Codelobster、PHP Designer等,當然還有很多輕量的工具,比如Notepad、Editplus等。本文給你介紹的是萬能編輯器Visual Studio Code,簡稱VS Code。 我為什么選擇Visual Studio Code呢?因為他是微軟公

    2024年02月15日
    瀏覽(27)
  • 函數(shù)的參數(shù)傳遞和返回值-PHP8知識詳解

    函數(shù)的參數(shù)傳遞和返回值-PHP8知識詳解

    本文學習的是《php8知識詳解》中的《函數(shù)的參數(shù)傳遞和返回值》。主要包括:向函數(shù)傳遞參數(shù)值、向函數(shù)傳遞參數(shù)引用、函數(shù)的返回值。 1、向函數(shù)傳遞參數(shù)值 函數(shù)是一段封閉的程序,有時候,程序員需要向函數(shù)傳遞一些數(shù)據(jù)進行操作??梢越邮軅魅?yún)?shù)的函數(shù)定義形式如下

    2024年02月11日
    瀏覽(23)
  • PHP8條件控制語句-PHP8知識詳解

    PHP8條件控制語句-PHP8知識詳解

    我們昨天說了流程控制的結構有順序結構、選擇結構和循環(huán)結構。選擇結構就是條件結構。 條件控制語句就是對語句中不同條件的值進行判斷,進而根據(jù)不同的條件執(zhí)行不同的語句。 在本文中,學習的是if語句、if…else語句、if…elseif語句和switch語句。 1、if語句 if語句是最為

    2024年02月14日
    瀏覽(30)
  • PHP8的數(shù)據(jù)類型-PHP8知識詳解

    PHP8的數(shù)據(jù)類型-PHP8知識詳解

    在PHP8中,變量不需要事先聲明,賦值即聲明。 不同的數(shù)據(jù)類型其實就是所儲存數(shù)據(jù)的不同種類。在PHP8.0、8.1中都有所增加。以下是PHP8的15種數(shù)據(jù)類型: 1、字符串(String):用于存儲文本數(shù)據(jù),可以使用單引號或雙引號來定義字符串。 2、整數(shù)(Integer):用于存儲整數(shù)值,可

    2024年02月14日
    瀏覽(24)
  • PHP8的運算符-PHP8知識詳解

    PHP8的運算符-PHP8知識詳解

    運算符是可以通過給出的一或多個值(用編程行話來說,表達式)來產(chǎn)生另一個值(因而整個結構成為一個表達式)的東西。 PHP8的運算符有很多,按類型分有一元運算符、二元運算符、三元運算符。 一元運算符只對一個表達式執(zhí)行操作,只能接受一個值,例如 !(邏輯取反

    2024年02月14日
    瀏覽(25)
  • PHP8的表達式-PHP8知識詳解

    PHP8的表達式-PHP8知識詳解

    表達式是?PHP?最重要的基石。在 PHP8中,幾乎所寫的任何東西都是一個表達式。簡單但卻最精確的定義一個表達式的方式就是\\\" 任何有值的東西 \\\"。 最基本的表達式形式是常量和變量。當鍵入\\\"$a = 5\\\",即將值\\\"5\\\"分配給變量 $a。\\\"5\\\",很明顯,其值為 5,換句話說\\\"5\\\"是一個值為 5 的

    2024年02月14日
    瀏覽(26)
  • PHP8的跳轉語句-PHP8知識詳解

    PHP8的跳轉語句-PHP8知識詳解

    ?如果循環(huán)條件滿足的時候,則程序會一直執(zhí)行下去。如果需要強制跳出循環(huán),則需要使用跳轉語句來完成。PHP8的跳轉語句包括break語句、continue語句和goto語句。 1、break語句 break語句的作用是完全終止循環(huán),包括while、do…while、for、switch在內(nèi)的所有控制語句。 使用break語句來

    2024年02月13日
    瀏覽(19)
  • PHP8的數(shù)據(jù)類型轉換-PHP8知識詳解

    PHP8的數(shù)據(jù)類型轉換-PHP8知識詳解

    什么是數(shù)據(jù)類型轉換? 答:數(shù)據(jù)從一個類型轉換成另外一個類型,就是數(shù)據(jù)類型轉換。 在PHP8中,變量的類型就是由賦值決定的,也就是說,如果 string 賦值給 $var,然后 $var 的類型就是 string。之后將 int 值賦值給 $var,它將是 int 類型。列如: 在上面的代碼中的“=”不是數(shù)學

    2024年02月14日
    瀏覽(25)
  • 在PHP8中對數(shù)組進行排序-PHP8知識詳解

    在PHP8中對數(shù)組進行排序-PHP8知識詳解

    在php8中,提供了豐富的排序函數(shù),可以對數(shù)組進行排序操作。常見的排序函數(shù)如下幾個:sort() 函數(shù)、rsort() 函數(shù)、asort() 函數(shù)、arsort() 函數(shù)、ksort() 函數(shù)、krsort() 函數(shù)、natsort()函數(shù)和natcascsort()函數(shù)。 1、sort() 函數(shù):用于對數(shù)組元素從低到高進行排序,不保持索引關系。 2、r

    2024年02月07日
    瀏覽(27)
  • PHP8中查詢數(shù)組中指定元素-PHP8知識詳解

    PHP8中查詢數(shù)組中指定元素-PHP8知識詳解

    php是使用最廣泛的web編程語言,數(shù)組是一個數(shù)據(jù)集合,數(shù)組是一種非常常用的數(shù)據(jù)類型。在操作數(shù)組時,有時我們需要查詢數(shù)組中是否有某個指定元素。在實際的程序開發(fā)中,我們用到了下列方法來查詢數(shù)組中指定的元素:使用array_search()函數(shù)、使用array_column()函數(shù)、使用in

    2024年02月09日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包