不是,php傳參可以是字串、數字、布林值、陣列等。從PHP5.6版本開始支援傳遞陣列參數,函數的形式參數可使用「…」來表示函數可接受一個可變數量的參數,而可變參數將會被當作一個陣列傳遞給函數,語法「function函數名稱(...$arr){//執行程式碼}」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
PHP 自訂的函數
在PHP 中宣告一個自訂的函數可以使用下面的語法格式:
function 函数名 (参数1, 参数2, ..., 参数n){ 函数体; return 返回值; }
宣告函數時函數名稱後面的小括號「()」也是必須有的,在小括號中包含了一組可以接受的參數列表,參數就是宣告的變量,然後在呼叫函數時可以將變數傳遞給函數。參數清單可以為空,也可以有一個或多個參數,多個參數之間使用逗號分隔;
在PHP 中只要在需要使用函數的位置,使用函數名稱和參數清單進行函數調用:
函数名 (参数1, 参数2, ..., 参数n);
可以看出:函數的參數清單是由零個或多個參數組成的,每個參數之間使用逗號分隔開。
依參數所使用的位置,參數分為形式參數和實際參數兩種。
形式參數就是定義函數時函數名稱後面括號內的參數清單(簡稱「形參」),就像它的名字一樣,形參本身沒有具體的值。因為函數體中需要使用外部傳入的參數,為了讓參數可以正確地傳遞進來,就需要透過形式參數與函數體裡面的資料傳遞,形式參數如下圖所示。
實際參數就是我們在呼叫函數時函數名稱後面括號中的若干個參數(簡稱「實參」),實參與形參需要依序一一對應,它會取代形式參數在函數體中對應的變數值,函數的參數可以是一個具體的值,也可以是一個變量,實際參數如下圖所示。
php傳入
#在呼叫函數時,需要傳遞參數,被傳入函數的參數稱為實參,而函數定義的參數稱為形參。而傳遞參數給函數的方式有四種,分別是值傳遞、引用傳遞、預設參數、可變長度參數。
1、值傳遞
值傳遞是 PHP 中函數的預設傳值方式,也稱為「拷貝傳值」。顧名思義值傳遞的方式會將實參的值複製一份再傳遞給函數的形參,所以在函數中操作參數的值並不會對函數外的實參造成影響。因此如果不希望函數修改實參的值,就可以透過值傳遞的方式。
【範例】下方定義一個簡單的函數,函數有兩個參數,在函數中交換參數的值。
<?php function swap($a, $b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
運行結果如下:
2、引用傳遞
參數的引用傳遞就是把實參的記憶體位址複製一份,然後傳遞給函數的形參,實參和形參都指向同一個記憶體位址,因此函數對形參的操作,會影響到函數外的實參。
依引用傳遞就是將實參的記憶體位址傳遞到函數的形參中。因此實參和形參指向的是同一個記憶體位址。這時在函數內部的所有運算都會影響到函數外實參的值。引用傳遞的方式就是在值傳遞的基礎上加上一個&符號,如下所示:
function name (&参数1, &参数2, ..., &参数3) { ... }
【範例】將上面範例的程式碼略作調整,使用引用傳遞的方式向swap 函數中傳遞參數,程式碼如下:
<?php function swap(&$a, &$b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
運作結果如下:
3、預設參數
## 默認參數就是給函數的某個或多個形式參數指定一個預設的值,如果呼叫函數時不傳入對應的值,那麼函數就會使用這個預設值,這樣可以避免在呼叫時出現沒有參數的錯誤,也可以使一些程序顯得更加合理。如果傳入對應的參數,就會替換這個預設值。 函數的預設參數如下所示:function name ($str = 'hello', $url) { echo $str; }其中,形式參數$str 後面的「hello中文網」就是它的預設值,形參與預設值之間需要使用
=連接。
<?php function add($a, $b=56){ echo $a.' + '.$b.' = '.($a+$b).'<br>'; } add(11); add(37, 29); ?>
默认参数也可以是多个,而且默认参数必须放在非默认参数右边,并且指定默认参数的值必须是一个具体的值,如数字、字符串,而不能是一个变量。
4、可变长度参数--将一个数组传递给函数
在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。示例如下:
<?php function test(...$arr){ var_dump($arr); } test(1, 2, 3, 4); test(5, 6, 7, 8, 9, 10); ?>
推荐学习:《PHP视频教程》
以上是php傳參都是字串嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)