博客列表 >PHP基础学习

PHP基础学习

Dong.
Dong.原创
2020年07月27日 15:17:04994浏览

1.PHP程序由哪几部分组成

  • 起始标签: <?php
  • 结束标签: ?>
  • 单行注释: // , #号键也可以用来注释但不推荐使用
  • 多行注释: /* 注释内容*/
  • ; : 表示语句分隔符或语句的结束
    注意:在单独的纯文本PHP文件中,推荐不要加结束标签,因为这样可以避免被引用时出错,出现一些不可见字符,但是在PHP混编时,比如和HTML写在一个文件中时,就必须加上结束标签了。

示例:

  1. <?php
  2. //代码段
  3. function sum ( $a , $b ) {
  4. return $a + $b;
  5. }
  6. //打印输出结果
  7. echo '两数相加之和是:'.sum ( 10 , 10 );
  8. `

2.打印输出

序号 代码 注释
1 return 返回结果给调用者
2 echo 支持HTML标签,可以同时打印多个变量,没有返回值效率最高
3 print 有返回值(打印成功返回值‘1’),只能打印一个变量
4 var_dump() 能够打印变量的完整信息,即:变量的类型,变量的长度,变量的数值
5 print_r() 以人性化方式打印,通常用于复合数据类型,(true)表示不打印而返回,返回是一定要有一个接收者
6 var_export() 返回一个变量的字符串表示(源代码)

代码示例:

  1. <?php
  2. // 变量
  3. $name = 'hello';
  4. $content = 'php中文网';
  5. // 打印输出
  6. // echo效率最高没有返回值,支持HTML标签,可以同时打印多个值
  7. echo $name,'<br>';
  8. echo '<span style="color:red;">',$content,'</span>','<br>';
  9. echo $name,$content;
  10. echo '<hr/>';
  11. //print 打印单一变量,且有返回值
  12. print $name.'<br>';
  13. print $name.$content.'<br>';
  14. echo print $cntent;//打印成功返回1
  15. echo '<hr/>';
  16. //var_dump输出信息,完整显示变量信息
  17. var_dump($name);
  18. echo '<br>';
  19. var_dump($content);
  20. echo '<br>';
  21. var_dump(111);
  22. echo '<hr/>';
  23. //var_export() 返回字符串表示(源代码)
  24. var_export($name);
  25. echo '<br>';
  26. var_export($name.$content);
  27. echo '<hr>';
  28. //print_r()以人性化的方式打印变量,true表示不打印而返回,且返回时一定要有一个接受者
  29. $arr = ['998','888','98'];
  30. echo print_r($arr,true),'<br>';
  31. //结合html的pre标签,可以原样输出
  32. echo '<pre>'.print_r($arr,true).'</pre>' ;

图示:


3.变量

含义:
1.变量是临时储存数据的容器
2.变量是实现数据复用的手段

3.1 变量的命名:

  • 必须以$符开头
  • 变量区分大小写,函数不区分大小写
  • 变量名不允许以数字开头
  • 变量名中不允许使用特殊字符
  • 允许下划线开始
  • 命名时要做到望名生意,要有意义
    扩展:JS中变量和函数都要区分大小写,但在PHP中,变量区分大小写,函数、方法名、类名都是不区分的。

3.2变量的动态

  • 变量的类型可以随值的变化而变化
  • 变量的类型是 由值来决定的
    示例:
  1. <?php
  2. // 变量的动态
  3. $change = 123;
  4. var_dump($change);
  5. echo '<br>';
  6. $change = '123';
  7. var_dump($change);

图片示例:

3.3变量的传递

变量的值传递与引用分为两种赋值方式
1.值传递:默认方法,直接将等号右边的变量的值赋值给左边变量
2.引用传递:在等号的右值前加“&”(取地址符),这时会将右边变量的内存地址传给左边变量,不再是单纯的赋值操作
注:两个值同步更新
代码示例:

  1. <?php
  2. // 值传递与引用传递
  3. // 1.值传递(默认方法)
  4. $name = 50;
  5. $name1 = $name;
  6. echo $name.'<hr>';
  7. // 2.引用传递:在等号右边添加‘&’取地址符
  8. $name2 = &$name;
  9. $name2 = 100;
  10. echo $name2;

图片解析:

3.4可变变量

变量名可以动态的创建
代码示例:

  1. <?php
  2. //可变变量:一个变量的变量名可以动态的设置和使用
  3. $nav = 'email';
  4. // $$nav这个变量名跟$nav的值是相等的
  5. $$nav = 'admin@php.com';
  6. // 输出
  7. echo $nav.$$nav;
  8. echo '<hr>';
  9. echo $email;

图片演示:

3.5变量的检测与删除

代码示例:

  1. <?php
  2. /*
  3. 当变量为定义时,不会输出也不会报错,在调试的时候,
  4. 通常需要在查看这个变量之前打开报错,需要用到一个
  5. 函数:error_reporting(E_ALL)
  6. */
  7. //打开所有报错
  8. error_reporting(E_ALL);
  9. //使用这个函数之后就会有报错功能了
  10. // echo $name;
  11. //变量检测:isset(),变量不为空且值不为null时才是true
  12. $name = 'php中文网';
  13. // $name = null;
  14. if ( isset($name) ) { echo 'name:'. $name;}
  15. else { echo '没有定义此变量';}
  16. echo '<hr>';
  17. //删除变量:unset(),没有返回值,直接执行
  18. unset($name);
  19. if ( isset($name) ) { echo 'name:'. $name;}
  20. else { echo '没有定义此变量';}
  21. echo '<hr>';
  22. // empty():检测变量是否为空,多用于表单元素检测
  23. $nav = '';
  24. if( empty($nav) ){ var_dump($nav); }

图片解释:


4.数据类型

数据类型分为三大类分别为:

  • 基本类型:字符串类型、数值类型、布尔类型
  • 复合类型:对象,数组
  • 特殊类型:NULL、资源

代码示例:

  1. <?php
  2. // 数据类型
  3. // 1.基本数据类型:又称标量、单值(单值放在栈内)
  4. echo '字符串类型:'.'<br>';
  5. $username = 'php';
  6. var_dump($username);
  7. echo '<br>';
  8. echo '数值类型:'.'<br>';
  9. $price = 2900;
  10. $price1 = 3.0;
  11. var_dump($price);
  12. var_dump($price1);
  13. echo '<br>';
  14. echo '布尔值类型:'.'<br>';
  15. $iswin = false;
  16. var_dump($iswin);
  17. echo '<hr>';
  18. // 2.复合类型:多值(一个变量多个值,放入堆中)
  19. // 对象:是属性和方法的无序集合
  20. $obj = new stdClass;
  21. $obj -> name = 'Mark';
  22. $obj -> age = 33;
  23. $obj -> hobby = 'ball';
  24. echo $obj -> hobby,'<hr>';
  25. // 数组
  26. $cars = ['BMW','Volvo','LAND-ROVER'];
  27. var_dump($cars);
  28. echo '<br>';
  29. // 原样输出
  30. echo '<pre>'.print_r($cars,true).'</pre>','<hr>';
  31. // 3.特殊类型
  32. // NULL
  33. $null = null;
  34. var_dump($null);
  35. echo '<hr>';

图片:


5.变量的类型转换

  • 自动转换:由PHP系统偷偷地进行,不需要用户主动参与
    null在计算中自动转为0
    true在计算中自动转为1
  • 强制转换:在需要转换的变量前加上数据类型或使用转换函数
    注意:以上转换都是属于临时转换,只有在运算过程中临时转换一下,进行运算操作,其原始数据类型还是不变,如果要永久转换,需要用到一个函数:settype(值1,值2),值1表示需要转换的变量,值2表示需要转换的类型

示例如下:

  1. <?php
  2. // 自动转换,偷偷的进行,不需要用户参与
  3. $num = 100;
  4. $str1 = '100per';
  5. $str2 = 'fam200';
  6. $bool1 = true;
  7. $bool2 = false;
  8. $null = null;
  9. echo $num + $str1,'<hr>'; // 从字符串第一个字符开始解析,遇到数字取出来,100,相加得200
  10. echo $num + $str2,'<hr>'; // 从字符串第一个字符开始解析,没有遇到数字,直接停止,相当于为0
  11. echo $num + $bool1,'<hr>'; // 布尔值true,相当于1
  12. echo $num + $bool2,'<hr>'; // 布尔值false,相当于0
  13. echo $num + $null,'<hr>'; // NULL类型,也相当于0
  14. echo $str1.$num,'<hr>'; // .号表示字符串拼接操作,会将100转换为'100'
  15. echo $bool1.$bool2,'<hr>';
  16. echo $bool1.$str2,'<hr>';
  17. // 强制转换 :在变量前加上变量类型或使用转换函数
  18. // 此时,没有警告框弹出了,
  19. echo $num + (int) $str2,'<hr>';
  20. // 类似的,使用转换函数,推荐使用此方法
  21. echo $num + intval($str2),'<hr>';
  22. // 转换后,虽然能运算,但是数据类型是不变的,还是string
  23. echo gettype($str2),'<hr>';
  24. // 永久转换,使用settype()函数,第一个值是变量名,第二个值是变量类型
  25. settype($str2,'int');
  26. echo gettype($str2);

图片示例:

扩展:
允许转换的PHP数据类型有:
1.(int)、(integer):转换成整型
2.(float)、(double)、(real):转换成浮点型
3.(string):转换成字符串
4.(bool)、(boolean):转换成布尔类型
5.(array):转换成数组
6.(object):转换成对象
PHP数据类型转换函数:

  1. intval() 转为整型
  2. floatval() 转为浮点型
  3. strval() 转为字符串
    通用类型转换函数:
    settype(mixed var,string type)
    此函数可将数据类型永久转换

总结

了解了PHP基础组成部分以及PHP变量的一些基本操作,不由的感慨PHP变量的变幻莫测更加利于我们的使用

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
Dong.2020-07-27 17:06:381楼
上次写完隐藏了,忘记提交了