国产网曝门99视频在线看_免费看片a级毛片免费看_4hu四虎永久在线观看_高清无套内精线观看456_国产欧美亚洲日韩久久福利_av在线无码观看另类重口_欧美精品一二三区较多收藏_欧美老熟妇伦视频_婷婷六月综合激情_最新国产成人野战在线观看


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

導讀:今天分享的是PHP8中自定義函數(shù)。包含什么是函數(shù)、什么是自定義函數(shù)、定義和調(diào)用函數(shù)、函數(shù)中的變量作用域。

今天分享的是PHP8中自定義函數(shù)。包含什么是函數(shù)、什么是自定義函數(shù)、定義和調(diào)用函數(shù)、函數(shù)中的變量作用域。

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ù)字或下劃線??梢杂?a href="http://003188.cn/tag/zhengzebiaodashi/" data-type="mip" data-title="正則表達式" target="_blank" title="正則表達式">正則表達式表示為: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$。

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

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


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

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

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

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

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

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;
    
    // 返回求和和求積的結(jié)果作為數(shù)組
    return array($sum, $product);
}

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

?>

以上代碼在PHP8中的運行結(jié)果為:

求和計算結(jié)果是: 30
求積的計算結(jié)果是: 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é)撛诘陌踩┒础?br>

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中運行的結(jié)果為:

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中運行的結(jié)果為:

正在學習的是: 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中運行的結(jié)果為:

正在學習的是: PHP8

4.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中運行的結(jié)果為:

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ù)器遞增。

到這為止,今天分享的是PHP8中自定義函數(shù)。包含什么是函數(shù)、什么是自定義函數(shù)、定義和調(diào)用函數(shù)、函數(shù)中的變量作用域。



本文地址:http://003188.cn/php8zhongzidingyihanshu.html
碼字不易,打個賞唄
楊澤業(yè)感謝你的支持!

猜你喜歡

PHP8的靜態(tài)變量和方法-PHP8知識詳解

導讀:我們在上一課程講到了public、private、protected這3個關鍵字,今天我們來講解static關鍵字,明天再講解final關鍵字。 如果不想通過創(chuàng)建對象來調(diào)用變量或方法,則可以將該變量或方法創(chuàng)建為靜態(tài)變量或方法,也就是在變量或方法的前面加上static關鍵詞。

2023-09-28  分類:PHP學堂  瀏覽:820次


PHP8函數(shù)包含文件-PHP8知識詳解

在php中,可以使用以下函數(shù)來包含其他文件:include()、include_once()、require()、require_once()。1、include():包含并運

2023-09-02  分類:PHP學堂  瀏覽:691次


PHP8內(nèi)置函數(shù)中的變量函數(shù)-PHP8知識詳解

導讀:今天學習的變量函數(shù)中,著重講解了5個,分別是:檢測變量是否為空的函數(shù)empty()、判斷變量是否定義過的函數(shù)isset()、銷毀指定的變量的函數(shù)unset()、獲取變量的類型的函數(shù)gettype()、檢查變量是否為數(shù)字或數(shù)字字符串的函數(shù)is_numeric()。

2023-09-02  分類:PHP學堂  瀏覽:923次


PHP8內(nèi)置函數(shù)中的數(shù)學函數(shù)-PHP8知識詳解

導讀:本文講到了數(shù)學函數(shù)中的隨機數(shù)函數(shù)rand()、舍去法取整函數(shù)floor()、向上取整函數(shù) ceil()、對浮點數(shù)進行四舍五入的函數(shù)round()、絕對值函數(shù) abs()、平方根函數(shù) sqrt()這6個函數(shù)。

2023-08-29  分類:PHP學堂  瀏覽:540次


PHP8的箭頭函數(shù)-PHP8知識詳解

導讀:PHP 7.4 引入了箭頭函數(shù)(Arrow Functions),并在 PHP 8 中得到了進一步改進和擴展。 箭頭函數(shù)是一種更簡潔的匿名函數(shù)形式,它們提供了一種更便捷的方式來定義輕量級的、單行的回調(diào)函數(shù)。

2023-08-27  分類:PHP學堂  瀏覽:958次


PHP8的匿名函數(shù)-PHP8知識詳解

導讀:PHP8引入了匿名函數(shù)(AnonymousFunctions),它是一種創(chuàng)建短生命周期的函數(shù),不需要命名,并且可以在其作用域內(nèi)直接使用。以下是在PHP8中使用匿名函數(shù)的知識要點。

2023-08-27  分類:PHP學堂  瀏覽:801次


變量函數(shù)及銷毀函數(shù)中的變量-PHP8知識詳解

導讀:今天分享PHP8知識詳解中的變量函數(shù)及銷毀函數(shù)中的變量,以及相應的示例代碼。

2023-08-26  分類:PHP學堂  瀏覽:842次


PHP8函數(shù)的引用和取消-PHP8知識詳解

導讀:今天分享的是php8函數(shù)的引用和取消,不過在PHP官方的參考手冊中,已經(jīng)刪除了此類教程。

2023-08-25  分類:PHP學堂  瀏覽:788次


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

導讀:本文學習的是《PHP8知識詳解》中的《函數(shù)的參數(shù)傳遞和返回值》。主要包括:向函數(shù)傳遞參數(shù)值、向函數(shù)傳遞參數(shù)引用、函數(shù)的返回值。

2023-08-23  分類:PHP學堂  瀏覽:766次


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

導讀:今天分享的是PHP8中自定義函數(shù)。包含什么是函數(shù)、什么是自定義函數(shù)、定義和調(diào)用函數(shù)、函數(shù)中的變量作用域。

2023-08-23  分類:PHP學堂  瀏覽:825次