php 函数返回值mixed,认识函数的类型、参数与返回值

函数的类型、参数与返回值

一、函数的基本语法语法

functionfunctionName(类型限定参数列表):返回值类型

{

}

案例:计算两个数之和。

functionsum(int$a,int$b):string

{

return$a+$b;

}

echo sum(1,2);// 3

二、函数的分类

2.1 命名函数命名函数自动提升到脚本顶部,在全局任何地方都能调用。

// 按函数名称调用

demo1('残破的蛋蛋');

// 声明一个demo1函数

functiondemo1($name){

echo"My name is ${name}.";

}

以上代码会输出:My name is 残破的蛋蛋.

2.2 匿名函数没有指定具体函数名称的函数叫匿名函数,也叫闭包函数。

$var=function(){

// TODO

}

以上声明的就是一个匿名函数,它需要把函数赋给一个变量,然后通过变量去调用。

$demo2=function(){

echo"Hello World!";

}

$demo2();// Hello World!

匿名函数通过变量调用,以上结果为:Hello World!。

三、函数的参数

3.1 必选参数functionperson1(string$name):string

{

return"Hello, ${name}!";

}

echo person1('残破的蛋蛋')."
";// Hello, 残破的蛋蛋!

echo person1(123)."
";// Hello, 123!

echo person1(true)."
";// 报错

上述第三次函数调用报错的原因是:当限定了传入的参数类型为字符串时,标量(单值)会自动转换成字符串,但是布尔型、数组、类是无法自动转换的。

3.2 可选参数在定义函数的时候声明了参数,如果在调用的时候没有指定参数或者是少指定了参数,那么就会出现缺少参数的报错。在PHP中,支持函数的默认方式调用,即为函数的参数指定一个默认值,在调用函数的过程中如果没有指定参数的值,那么在函数中会使用参数的默认值。

functionperson2(string$name,int$age=20,string$sex="男"){

echo"我的名字是:${name},年龄:${age}岁,性别:${sex}。
";

}

// 我的名字是:残破的蛋蛋,年龄:20岁,性别:男。

person2('残破的蛋蛋');

在上述案例中我们确实为person2()函数声明了三个参数,但是我们只传了一个参数,其他两个参数都使用的是默认值。当调用函数传参的过程中,实参和形参是按照参数传递的顺序一一对应的,如果实参个数少于形参,则后面的形参不会被传值。当使用默认参数时,必须放在非默认参数的后面,否则可能会导致函数不会按照预期的执行。

3.3 不定参数语法

functionfunctionName(...$args){

// TODO

}

functi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP的内置函数 `substr_replace()` 用于替换字符串的一部分。它的参数如下: 1. `string $string`:原始字符串。 2. `mixed $replacement`:要替换的内容。可以是一个字符串或字符串数组,用于替换原始字符串中指定位置的字符。 3. `int $start`:起始位置索引,表示从哪个位置开始替换。如果是正数,则从字符串的左侧开始计数;如果是负数,则从字符串的右侧开始计数。 4. `int|null $length`:可选参数,表示要替换的长度。如果指定了长度,则替换从起始位置开始指定长度的字符。如果未指定长度,则会替换从起始位置到字符串末尾的所有字符。 5. `string|null $encoding`:可选参数,表示字符串的编码。默认为 `null`,表示使用内部编码。 函数返回一个新的字符串,其中被替换的部分已经被指定的内容替代。 下面是一些示例: ```php $str = "Hello, world!"; // 将字符串中的 "world" 替换为 "everyone" echo substr_replace($str, "everyone", 7, 5); // 输出: Hello, everyone! // 将字符串中索引位置2开始的3个字符替换为 "ABC" echo substr_replace($str, "ABC", 2, 3); // 输出: HeABC, world! // 将字符串中索引位置-6开始到末尾的字符替换为空字符串 echo substr_replace($str, "", -6); // 输出: Hello, // 指定字符串编码为UTF-8 echo substr_replace($str, "everyone", 7, 5, 'UTF-8'); // 输出: Hello, everyone! ``` 请注意,如果使用多字节字符编码(如UTF-8),需要确保字符串函数能正确处理多字节字符。在这种情况下,可以使用 `mb_substr_replace()` 函数来替代 `substr_replace()`,以确保正确处理多字节字符。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值