函数内部使用外部变量的5种方式和常用字符串函数
1.PHP作用域
函数内部使用外部变量的5种方式演示
global
fn()=>(…)
$GLOBALS[‘outer’]
function ($outer) {…}
function () use ($outer) {…}
代码:
<?php
namespace _0810;
$name = '早上好';
function hello(): string
{
echo '<hr>----------------------1.global关键字---------------------------<br>';
global $name;
return '关键字:Hello, ' . $name;
}
echo hello();
function hello1(): string
{
echo '<hr>-------------------2.超全局数组: $GLOBALS[]-----------------------<br>';
return '全局数组:Hello, ' . $GLOBALS['name'];
}
echo hello1 ();
echo '<hr>-----------------3.function () use ($outer) {...}-----------------------------------</br>';
$hello2 = function () use($name):string{
return '匿名函数/闭包:Hello, ' . $name;
};
echo $hello2 ();
echo '<hr>------------箭头函数: fn()=>(...)---------------<br>';
$name = '大家好';
$hello = fn() =>'hello,' . $name;
echo $hello() ;
echo '<hr>-------------------- 5. 纯函数: 将函数依赖的外部数据,通过参数注入到函数内部-------------------------<br>';
/* 纯函数:将函数依赖的外部数据,通过参数注入到函数内部 */
$name = '吃了吗';
$hello = function($name):string
{
return 'hello,' .$name;
};
echo $hello($name);
字符串函数
<?php
namespace _0810;
echo '<hr>----------------------md5 /* md5 对明文密码加密 */--------------------------------<br>';
$pwd = 123456789;
echo md5($pwd);
echo '<hr>----------------------str_pad : 填充字符串的长度--------------------------------<br>';
echo str_pad($pwd, 10, '*');
echo '<hr>-----------------------strstr(strchr) :/* 查询字符串首次出现 */----------------------------------------------------------------</br>';
$email ='name@example.com';
$domain = strstr($email,'@');
echo $domain;
echo '<hr>-----------------------srtlen :/* 函数可以获取一个字符串的长度,直接传入字符串即可,函数返回该字符串的长度 */----------------------------------------------------------------</br>';
$str ='hello world';
echo strlen($str),'<br/>';
$str = '我爱中国';
echo strlen($str);
echo '<hr>----------------------strtoupper :/* 将字符串转化为大写 */--------------------------------<br>';
$b = 'hello word';
echo strtoupper($b);
echo '<hr>----------------------strrev :/* 反转字符串 */--------------------------------<br>';
echo strrev($pwd);