博客列表 >实例演示访问函数外部的5种方式及其他

实例演示访问函数外部的5种方式及其他

P粉479712293
P粉479712293原创
2022年10月23日 12:00:34455浏览

题目1:php访问函数外部变量的5种方式之一:global关键字

php文件:

  1. <?php
  2. // *php访问函数外部变量的5种方式之一:global关键字
  3. $username='关云长';
  4. function sanguo():string{
  5. global $username;
  6. return '过五关斩六将,'.$username;
  7. }
  8. echo sanguo(),'<br>';

浏览器运行效果:

题目2:php访问函数外部变量的5种方式之二:$GLOBALS[‘$outer’]

php文件:

  1. <?php
  2. // *php访问函数外部变量的5种方式之二:$GLOBALS['$outer']
  3. $username='赵子龙';
  4. function sanguo():string{
  5. return '大战长坂坡,'.$GLOBALS['username'];
  6. }
  7. echo sanguo(),'<br>';

浏览器运行效果:

题目3:php访问函数外部变量的5种方式之三:function()use($outer){…}

php文件:

  1. <?php
  2. // *function()use($outer){...}
  3. $username='诸葛亮';
  4. $sanguo=function()use($username):string{
  5. return '草船借箭,'.$username;
  6. };
  7. echo $sanguo(),'<br>';

浏览器运行效果:

题目4:php访问函数外部变量的5种方式四:箭头函数:fn()=>(…)

php文件:

  1. <?php
  2. // *箭头函数:fn()=>(...)
  3. $username='刘备';
  4. $sanguo=fn()=>'三顾茅庐,'.$username;
  5. echo $sanguo(),'<br>';

浏览器运行效果:

题目5:php访问函数外部变量的5种方式五:function($outer){…}

php文件:

  1. <?php
  2. // *function($outer){...}
  3. $username='张飞';
  4. $sanguo=function($username):string{
  5. return'仗百长茅,'.$username;
  6. };
  7. echo $sanguo($username),'<br>';

浏览器运行效果:

题目6:在函数外部访问函数内部的私有变量

php文件:

  1. <?php
  2. // *在函数外部访问函数内部的私有变量
  3. $sanguo=function(){
  4. // *私有变量
  5. $username='黄忠';
  6. // *如果外部需要这个私有变量,可以将它作为返回数据的赠品处理
  7. // *返回一个数组:[正常返回的数据,私有变量]
  8. return ['老当益壮,',$username];
  9. };
  10. // *将数组解构到独立变量的序列中:
  11. list($a,$b)=$sanguo();
  12. // *打印各独立变量
  13. echo $a,$b,'<br>';

浏览器运行效果:

题目7:常量声明的两种方式:函数方式define与自定义方式const

php文件:

  1. <?php
  2. // *常量声明的两种方式:函数方式define与自定义方式const
  3. define('USER_NAME','曹操');
  4. const name='刘备';
  5. function sanguo():string{
  6. return sprintf('三国,%s,%s',USER_NAME,name);
  7. }
  8. echo sanguo().'<br>';

浏览器运行效果:

题目8:

php文件:

  1. <?php
  2. // *预定义常量与魔术常量
  3. // *预定义常量
  4. echo 'php版本:'.PHP_VERSION.'<br>';
  5. echo '操作系统:'.PHP_OS.'<br>';
  6. // *魔术常量(值为变化的)
  7. echo '当前行号:'.__LINE__.'<br>';
  8. echo '当前文件:'.__FILE__.'<br>';
  9. echo '当前路径:'.__DIR__.'<br>';

浏览器运行效果:

题目9:php中字符串的单引号与双引号

php文件:

  1. <?php
  2. // *php中字符串的单引号与双引号
  3. // *单引号:不解析变量与转义符,适合不含变量与转义字符的静态文本
  4. $username='曹操';
  5. $sanguo='三国人物:\n\r $username';
  6. echo $sanguo;
  7. // *单引号的语法糖:nowdoc
  8. $sanguo=<<<'rw'
  9. <header>
  10. <nav>
  11. <a href="">曹操</a>
  12. <a href="">刘备</a>
  13. <a href="">孙权</a>
  14. </nav>
  15. </header>
  16. rw;
  17. echo $sanguo,'<hr>';
  18. // *双引号:可解析变量及转义字符,适合包含插值变量以及特殊字符的动态模板
  19. $username2='关云长';
  20. $sanguo2="千里走单骑,\n\r $username2";
  21. // echo $sanguo2.'<br>';
  22. echo $sanguo2."\n";
  23. // *双引号语法糖:heredoc
  24. $sg=<<<"sanguo"
  25. <ul>
  26. <li>三国演义</li>
  27. <li>$username2</li>
  28. </ul>
  29. sanguo;
  30. echo $sg;

浏览器运行效果:

题目10:数组转成字符串:

php文件:

  1. <?php
  2. // *数组转成字符串
  3. $sanguo=['刘备','关羽','张飞'];
  4. echo implode(',',$sanguo);

浏览器运行效果:

题目11:字符串转成数组

php文件:

  1. <?php
  2. // *字符串转成数组
  3. $link='mysql:dbname=sanguo;root;root';
  4. $db=explode(';',$link);
  5. print_r($db);

浏览器运行效果:

题目12:解析数据库的连接参数

php文件:

  1. <?php
  2. // *解析数据库的连接参数
  3. $link='mysql:dbname=sanguo;root;root';
  4. $db=explode(';',$link);
  5. vprintf('dsn=%s<br>username=%s<br>password=%s<br>',$db);

浏览器运行效果:

题目13:php中对字符串的操作

php文件:

  1. <?php
  2. // *php中对字符串的操作
  3. // *字符串的查询
  4. $str='sanguo.cn';
  5. echo substr($str,0,4).'<br>';
  6. echo substr($str,6,3).'<br>';
  7. echo substr($str,6).'<br>';
  8. // *strstr:首次字符出现的位置之后的字符
  9. $img='liubei.png';
  10. echo strstr($img,'.').'<br>';
  11. // *把扩展名中的'.'删除
  12. echo ltrim(strstr($img,'.'),'.').'<br>';
  13. // *获取'.'之前的文件名
  14. echo strstr($img,'.',true).'<br>';
  15. $str2='phpEnv.cn';
  16. // *strpos:首次出现的索引
  17. echo strpos($str2,'p').'<br>';
  18. echo strpos($str2,'p',1).'<br>';
  19. // *str_replace:字符串的替换
  20. $demo1='E:\project\phpLearn\1c';
  21. echo str_replace('\\','/',$demo1).'/demo1.html';

浏览器运行效果:

题目14:php中对字符串的操作2

php文件:

  1. <?php
  2. // *php中对字符串的操作2
  3. // *批量替换
  4. $user=['张三','李四','王五'];
  5. $suihu=['宋江','吴用','林冲'];
  6. $str='及时雨张三,智多星李四,豹子头王五';
  7. echo str_replace($user,$suihu,$str).'<br>';
  8. // *用**代替敏感词
  9. $a='**';
  10. echo str_replace($user,$a,$str).'<br>';
  11. // *未去空格与去掉空格的字符串
  12. $str2=' 三国 ';
  13. echo strlen($str2).'<br>';
  14. echo strlen(trim($str2)).'<br>';
  15. // *rtrim:去掉右边:
  16. $str3='sanguo.cn';
  17. echo rtrim($str3,'.cn').'<br>';
  18. // *ltrim:去掉左边:
  19. echo ltrim($str3,'sanguo').'<br>';
  20. // *当前服务器中的查询字符串
  21. $url="http://phplearn.io/3c/demo14.php?a=1&b=12&c=123";
  22. echo $_SERVER['QUERY_STRING'].'<br>';
  23. // *把查询字符串转成数组
  24. parse_str($_SERVER['QUERY_STRING'],$arr);
  25. printf('<pre>%s</pre>',print_r($arr,true));
  26. // *把统一资源定位器(网址)解析成数组
  27. $arr=parse_url($url);
  28. printf('<pre>%s</pre>',print_r($arr,true));

浏览器运行效果:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
P粉4797122932022-10-24 15:39:131楼
谢谢老师表扬