1.函数内使用外部变量的5中方法
<?php
namespace _0810;
//!函数中引用外部变量的5种方法
// 1.global 声明
$name = '赵大';
function helloGlobal(): string
{
global $name;
return 'Hello ' . $name . '<hr>';
}
echo helloGlobal();
// 2.$GLOBALS['outer'] 超全局变量
$name = '王二';
function helloGLOBALS(): string
{
return 'Hello ' . $GLOBALS['name'] . '<hr>';
}
echo helloGLOBALS();
// 3.函数表达式 function() use (外部变量)
$name = '张三';
$helloFunExpression = function () use ($name) {
return 'Hello ' . $name . '<hr>';
};
echo $helloFunExpression();
// 4.箭头函数 fn()=>(...外部变量直接使用)
$name = '李四';
$helloArrowFun = fn () => 'Hello ' . $name . '<hr>';
echo $helloArrowFun();
// 5.纯函数 直接传参 function(外部变量){...}
$name = '钱五';
$hello = function ($name) {
return 'Hello ' . $name . '<hr>';
};
echo $hello($name);
![](https://img.php.cn/upload/image/705/442/844/1660203096818223.jpg)
2.字符串函数(课外)
<?php
namespace _0810;
// !字符串常用的函数
// 1.md5(): 对明文密码加密
$str = 'Hello World';
echo "md5(): " . md5($str) . "<hr>";
// 2.str_pad(): 使用另一个字符串填充字符串为指定长度
echo "str_pad(): " . str_pad($str, 20, '*') . "<hr>";
// 3.str_repeat(): 重复一个字符串
echo "str_repeat(): " . str_repeat("($str)", 5) . "<hr>";
// 4.strip_tags(): 从字符串中去除 HTML 和 PHP 标记
$text = '<p>p标签内容</p><!-- Comment --> <a href="#">php.cn</a>';
echo "strip_tags(): <br>";
echo strip_tags($text);
//允许p标签和a标签
echo strip_tags($text, '<p><a>');
echo "<hr>";
// 5.strlen(): 获取字符串长度
echo "{$str}的长度为: " . strlen($str) . "<hr>";
// 6.strrev():字符串反转
echo "{$str}反转后: " . strrev($str) . "<hr>";
// 7.strrpos(): 计算指定字符串在目标字符串中最后一次出现的位置
echo "strrpos(): 'l'在{$str}中最后出现的索引为:" . strrpos($str, 'l') . "<hr>";
![](https://img.php.cn/upload/image/290/952/396/1660203167136851.jpg)