Blogger Information
Blog 40
fans 0
comment 1
visits 39782
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP基础学习
Dong.
Original
1007 people have browsed it

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变量的变幻莫测更加利于我们的使用

Correcting teacher:天蓬老师天蓬老师

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
Dong. 2020-07-27 17:06:38
上次写完隐藏了,忘记提交了
1 floor
Author's latest blog post