<?php
/** 函数
* Created by PhpStorm.
* User: hezhao
* Date: 2018-04-13 17:39
*/
//PHP 的真正威力源自于它的函数。在 PHP 中,提供了超过 1000 个内建的函数。
//函数名称以字母或下划线开头(不能以数字开头)
//无参方法
function sayHello(){
echo "Hello!", "<br>";
}
sayHello();
// 有参方法
function saySomeThing($word){
echo $word, "<br>";
}
saySomeThing("哈哈");
// 返回值
function calc($num1, $num2){
return $num1 + $num2;
}
echo "1 + 2 = " . calc(1,2) . "<br>";
// 默认参数
// 默认值必须是常量表达式,不能是诸如变量,类成员,或者函数调用等。
// 注意当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;否则,函数将不会按照预期的情况工作。
function sayName($name, $age=23){
echo "My Name is " . $name . ", I'm " . $age . " years old.<br>";
}
sayName("张三");
sayName("张三",18);
echo "<hr>";
//PHP 还允许使用数组 array 和特殊类型 NULL 作为默认参数
function makecoffee($types = array("cappuccino"), $coffeeMaker = NULL){
$device = is_null($coffeeMaker) ? "hands" : $coffeeMaker;
return "Making a cup of [".join(", ", $types)."] with $device.<br>";
}
echo makecoffee();
echo makecoffee(array("cappuccino", "lavazza"), "teapot");
echo "<hr>";
//可变长度参数 5.6+
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}
echo sum(1, 2, 3, 4);
echo "<br>";
// 值传递 默认
function takeArray($arrays){
$arrays[0] = 10;
return $arrays;
}
$nums = [1, 2, 3];
print_r(takeArray($nums)); //并不会改变数组的值,这与Java不同!
echo "<br>";
print_r($nums);
echo "<hr>";
// 引用传递 参数前加 &
function takeArray2(&$arrays){
$arrays[0] = 10;
return $arrays;
}
$nums = [1, 2, 3];
print_r(takeArray2($nums)); //会改变数组的值
echo "<br>";
print_r($nums);
echo "<br>";
// 字符串 引用传递
function add_some_extra(&$string){
$string .= 'and something extra.';
}
$str = 'This is a string, ';
add_some_extra($str);
echo $str;
echo "<br>";
PHP 函数详解
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 官方说明: (PHP 4, PHP 5, PHP 7) call_user_func — 把第一个参数作为回调函数...
- Kotlin 有一套自己的数据类型,跟java类似 十进制: 123Long: 123L 十六进制: 0x0F 二...
- 小编语:喜欢读名家的美文,正如喜欢一件看上眼的物品一样,让人爱不释手,难以割舍。于是,心动之,采撷,留存,品读……...