博客列表 >PHP基础 -(三)作用域,常量,数组与字符串相互转换

PHP基础 -(三)作用域,常量,数组与字符串相互转换

CY明月归
CY明月归原创
2022年04月23日 18:36:58787浏览

作业内容:

从手册上选择至少5个课堂上没讲过的字符串函数,进行实例演示

(一)作用域,常量

  1. /**
  2. * 1. 默认全局有效
  3. * 2. define, 可以用在if中, 但不能用在class中
  4. * 3. const, 编译阶段处理, 速度最快, 必须写到作用域的顶部,适合声明类常量,不能用在if中
  5. */
  6. //php常量是可以用define()函数来定义常量。一个常量一旦被定义,就不能再改变或者取消定义
  7. define('','php');
  8. define('name','ZOLO');
  9. //''空字符->合法常量
  10. echo constant('').'<hr>';
  11. //预定义常量
  12. echo 'PHP版本号:'.PHP_VERSION.'<hr>';
  13. echo 'PHP版本号:'.name.'<hr>';
  14. $str1 = <<<'DOC'
  15. <pre>
  16. 床前明月光,
  17. 疑是地上霜。
  18. 举头望明月,
  19. 低头思故乡。
  20. </pre>
  21. DOC;
  22. echo $str1;
  23. $str2 = <<<DOC
  24. <pre>
  25. 床前明月光,
  26. 疑是地上霜。
  27. 举头望明月,
  28. 低头思故乡。
  29. </pre>
  30. DOC;
  31. echo $str2;
  32. // php中函数中不能访问到外部的变量
  33. $name = 'zolo';
  34. $test1 = function () use ($name){
  35. // use 引用 $name;
  36. return 'hello,,,'.$name;
  37. };
  38. echo $test1() .'<hr>';
  39. function test2(){
  40. //global声明
  41. global $name;
  42. return 'hello,,,'.$name;
  43. };
  44. echo test2().'<hr>';
  45. function test3(){
  46. echo '当前函数名:'.__METHOD__.'<br>';
  47. return 'hello,,,'.$GLOBALS['name'];
  48. };
  49. echo test3().'<hr>';
  50. $arr = [1,2,3,4,0,false,'0'];
  51. printf('<pre>%s</pre>',print_r(array_filter($arr),true));
  52. echo '当前行号'.__LINE__.'<br>';
  53. echo '当前行号'.__DIR__.'<br>';
  54. echo '当前文件'.__FILE__.'<br>';
  55. // ! 3. 模板: 双引号
  56. echo "print a name there : $name";
  57. $table = <<<t
  58. <table border='1px soloid'>
  59. <tr>
  60. <td>123</td>
  61. <td>123</td>
  62. <td>123</td>
  63. </tr>
  64. </table>
  65. t;
  66. echo $table;

(二)数组与字符串相互转换


从手册上选择至少5个课堂上没讲过的字符串函数,进行实例演示

  1. <?php
  2. $str1 = 'this use explode';
  3. $str2 = 'this use split';
  4. echo strlen($str1);
  5. // ? 1. string -> array
  6. //explode( string $delimiter , string $string [, int $limit = PHP_INT_MAX ]): array
  7. $arr1 = explode(' ',$str1);
  8. printf('<pre>%s</pre>', print_r($arr1, true));
  9. //str_split( string $string [, int $split_length = 1 ]): array
  10. $arr2 = str_split($str2,4);
  11. printf('<pre>%s</pre>', print_r($arr2, true));
  12. // ? join: array->string
  13. // implode — 用字符串连接数组元素 join — 别名 implode()
  14. $arr3 = ['今天','你','抢到','菜','了吗?'];
  15. // printf('<pre>%s</pre>', print_r(implode('',$arr3), true));
  16. printf('<pre>%s</pre>', print_r(implode($arr3), true));
  17. printf('<pre>%s</pre>', print_r(join($arr3), true));
  18. // substr(string $string, int $offset, ?int $length = null): string
  19. $str3 = '0123456789';
  20. echo substr($str3,-3).'<br>';
  21. echo substr($str3,1,3).'<br>';
  22. echo substr($str3,1).'<br>';
  23. // strstr( string $haystack , mixed $needle [, bool $before_needle ]): string
  24. $str4 = 'zolO@qq.com';
  25. echo strstr($str4,'@').'<br>';
  26. echo strstr($str4,'o').'<br>';
  27. // str_replace( mixed $search , mixed $replace , mixed $subject [, int $count ]): mixed
  28. $arr4 = ['带货','微信','QQ'];
  29. $arr5 = '加我微信,或者加我QQ,我在朋友圈带货';
  30. echo str_replace($arr4, '@@', $arr5) . '<hr>';
  31. $arr6 = ['带货','微信','QQ'];
  32. $arr7 = ['微信','带货'];
  33. echo 'array_diff( array $array1 , array $array2 [, array $... ]): array 取不同';
  34. printf('<pre>%s</pre>', print_r(array_diff($arr4,$arr6), true));
  35. printf('<pre>%s</pre>', print_r(array_diff($arr4,$arr7), true));
  36. echo 'array_intersect( array $array1 , array $array2 [, array $... ]): array 取交集';
  37. printf('<pre>%s</pre>', print_r(array_intersect($arr4,$arr7), true));
  38. echo 'array_flip(array $array): array 键值转换';
  39. printf('<pre>%s</pre>', print_r(array_flip($arr4), true));
  40. echo 'array_rand( array $array [, int $num = 1 ]): mixed 从数组中随机取出一个或多个随机键';
  41. printf('<pre>%s</pre>', print_r($arr3[array_rand($arr3,1)], true));
  42. echo 'shuffle( array $array ): bool 打乱数组';
  43. shuffle($arr3);
  44. printf('<pre>%s</pre>', print_r($arr3, true));
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议