PHP课堂笔记(二)

(一)PHP函数

函数,就是将一些重复使用的功能写在一个独立的代码块中。

  • PHP 函数准则:
  • 函数的名称应该提示出它的功能
  • 函数名称以字母或下划线开头(不能以数字开头)
<?php
function writeName() //writeName 是函数名 可以随意更改
{
    echo "Kai Jim Refsnes"; // {} 内写的是函数体
}
 
echo "My name is ";
writeName(); //执行函数 
// 输出 My name is Kai Jim Refsnes

//带参函数(可以带多个参数,中间用逗号隔开)
function writeName($fname)
{
    echo $fname . " Refsnes.<br>";
}
 
echo "My name is ";
writeName("Kai Jim"); // 输出 My name is Kai Jim Refsnes.
?>
1.1 函数返回值
  • 如需让函数返回一个值,请使用 return 语句
  • 返回值可以是变量,常数,表达式,对象,数组
<?php
function add($x,$y)
{
    $total=$x+$y;
    return $total;
}
 
echo "1 + 16 = " . add(1,16);
?>
1.2 传参方式
  • 1.2.1 按值传参
<?php
function sum($a,$b){
	$a+=5;
	return $a+$b;
}
$x=10;
$y=20;
echo sum($x,$y)."<br>"; // 输出 35
echo $x; //输出 10
?>
  • 1.2.2 引用传参(在参数前面加上&,函数内的操作将会影响到实参的值)
<?php
function sum(&$a,$b){
	$a+=5;
	return $a+$b;
}
$x=10;
$y=20;
echo sum($x,$y)."<br>"; // 输出 35
echo $x; //输出 15
?>
  • 1.2.3 静态变量
function num()
{
    static $i = 1;
    echo $i;
    ++$i;
}
num(); //  1
num(); //  2
  • 1.2.4 默认参数
  • 默认参数只能是一个常量
  • 默认参数只能放在最后
  • 调用函数时,应遵循默认参数的顺序
<?php
function sum($a,$b=20){
	$a+=5;
	return $a+$b;
}
$x=10;
echo sum($x,$y)."<br>"; // 输出 35
echo $x; //输出 10
?>
1.3 变量函数

PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。

function foo() {
    echo "In foo()<br />\n";
}

function bar($arg = '')
{
    echo "In bar(); argument was '$arg'.<br />\n";
}

// 使用 echo 的包装函数
function echoit($string)
{
    echo $string;
}

$func = 'foo';
$func();        // 调用 foo()

$func = 'bar';
$func('test');  // 调用 bar()

$func = 'echoit';
$func('test');  // 调用 echoit()
1.4 匿名函数

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数 callable参数的值。
匿名函数中使用外部的变量,需要通过use关键字实现。use关键字后圆括号“()”中的内容即为要使用的外部变量列表,多个变量之间使用英文逗号“,”分隔即可。

//匿名回调
<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {  //preg_replace_callback 函数执行一个正则表达式搜索并且使用一个回调进行替换。
    return strtoupper($match[1]);
}, 'hello-world');
// 输出 helloWorld
?>

//匿名函数变量赋值示例
<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};

$greet('World');
$greet('PHP');
?>

//匿名函数调用外部变量
<?php
$c = 100;
$sum = function($a, $b) use($c) {
    return $a + $b + $c;
};
echo $sum(100, 200);  	// 输出结果:400
?>

1.5 箭头函数( 需PHP 7.4 或以上版本)

箭头函数的基本语法为 函数名 (参数) => 需返回的表达式或值。 箭头函数支持与 匿名函数 相同的功能,只是其父作用域的变量总是自动的。
可以参考es6中的箭头函数简写形式 data => data++

<?php

$y = 1;

$fn1 = fn($x) => $x + $y;
// 相当于通过 value 使用 $y:
$fn2 = function ($x) use ($y) {
    return $x + $y;
};

var_dump($fn1(3)); // 4

//在箭头函数嵌套的情况下同样有效。

$z = 1;
$fn = fn($x) => fn($y) => $x * $y + $z;
// 输出 51
var_dump($fn(5)(10)); //51
?>
1.6 函数的引用

(二)PHP系统函数库

2.1 变量函数

函数名功能格式 :返回值 函数名(接收参数)
empty检查一个变量是否为空bool empty ( mixed $var )
intval获取变量的整数值int intval ( mixed $var [, int $base = 10 ] )
gettype获取变量的类型string gettype ( mixed $var )
is_array检测变量是否是数组bool is_array ( mixed $var )
is_bool检测变量是否是布尔型bool is_bool ( mixed $var )
is_float检测变量是否是浮点型bool is_float ( mixed $var )
is_int检测变量是否是整数bool is_int ( mixed $var )
is_string检测变量是否是字符串bool is_string ( mixed $var )
print_r打印变量,输出易于阅读的信息。bool print_r ( mixed $expression [, bool $return ] )
isset检测变量是否已设置并且非 NULLbool isset ( mixed $var [, mixed $… ] )
strval获取变量的字符串值string strval ( mixed $var )
unset释放给定的变量void unset ( mixed $var [, mixed $… ] )
var_dump打印变量的相关信息void var_dump ( mixed $expression [, mixed $… ] )
var_export输出或返回一个变量,以字符串形式表示mixed var_export ( mixed $expression [, bool $return ] )
//  用"***"掩盖身份证部分信息

$id_card = '37172220011118451X';
$len=4;
$start=5;
$replace=str_repeat('*',$len);
$id_newcard=substr_replace($id_card,$replace,$start,$len);

echo"掩盖后的身份证号:".$id_newcard;

//字符串函数---截取给定路径中的字符串,写下第29个PPT案例

$url = 'C:\web\apache2.4\htdocs\cat.jpg';
$pos = strrpos($url, '\\');
// 截取文件名称,输出结果:cat.jpg
echo substr($url, $pos + 1);
// 截取文件所在的路径,输出结果:C:\web\apache2.4\htdocs

echo substr($url, 0, $pos);

//字符串函数——过滤字符串中的空白字符

$str = '   These are a few words :) ...   ';
echo '原字符串:' . $str . '<br>';
echo '去空白后的字符串:' . trim($str);

//字符串函数——字符串的比较

if (strcmp('ye_PHP', 'yePHP')) {
    echo 'not the same string';
} else {
    echo 'the same string';
}

//字符串函数——获取字符串的长度

$str = ‘PHP书籍';
echo strlen($str);	// 输出结果:9

$str = ‘PHP书籍';
echo mb_strlen($str, 'UTF-8'); // 输出结果:5

if (strcmp('ye_PHP', 'yePHP')) {
    echo 'not the same string';
} else {
    echo 'the same string';
}

$str = 'PHP书籍';
echo strlen($str);	// 输出结果:9
$str = 'PHP书籍';
echo mb_strlen($str, 'UTF-8'); // 输出结果:5

2.2 数学函数库

函数功能格式 :返回值 函数名(接收参数)
abs()返回一个数的绝对值。float/Int abs(number);
ceil()向上舍入为最接近的整数。float ceil(number);
floor()向下舍入为最接近的整数。float floor(number);
max()返回一个数组中的最大值,或者几个指定值中的最大值。mixed max(array_values);
min()返回一个数组中的最小值,或者几个指定值中的最小值。mixed min(array_values);
rand()返回随机整数。int rand(min,max);
round()对浮点数进行四舍五入。float round(number,precision,mode);
srand()播种随机数生成器。void srand(seed);
echo ceil(5.2);	// 输出结果:6
echo floor(7.8);	// 输出结果:7 
echo rand(1, 20);	// 随机输出1到20间的整数

2.3 日期函数

Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间。您可以使用 Date/Time 函数通过不同的方式来格式化日期和时间。

//string date ( string $format [, int $timestamp ] )
echo date('Y-m-d H:i:s');
//时间戳:从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数
echo '<br>'.time().'<br>';
//时间戳格式化
echo date('Y-m-d H:i:s',time());
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值