Blogger Information
Blog 49
fans 0
comment 3
visits 23015
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
实例演示访问函数外部的5种方式及其他
P粉479712293
Original
454 people have browsed it

题目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));

浏览器运行效果:

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:很好,条理清晰,效果完整
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
1 comments
P粉479712293 2022-10-24 15:39:13
谢谢老师表扬
1 floor
Author's latest blog post