Top

PHP PHP核心 Day02

  1. 1.转换成布尔类型
  2. 2.转换成数值类型
  3. 3.转换成字符类型

1 1.转换成布尔类型

1.1 问题

将特殊值转换成布尔型并且打印结果。

1.2 方案

记住转换原则。

转换成布尔类型false的有:

整型:0

浮点型:0.0

字符串型:空字符串或者’0’

空(NULL)

空数组

其它都为true

1.3 步骤

第一步,创建标准的PHP文档。

第二步,声明变量,并应用if…else流程控制语句,将变量当作if的表达式,如果表达式为真,会输出真,证明转换成布尔类型的真;否则执行else,输出假,证明转换成布尔类型的假。其代码如下:

  1. <?php
  2.     $var=0;
  3. if($var){
  4.      echo '真';
  5. }else{
  6.      echo '假';
  7. }
  8. $var=0.0;
  9. if($var){
  10.     echo '真';
  11. }else{
  12.     echo '假';
  13. }
  14. $var='';
  15. if($var){
  16.     echo '真';
  17. }else{
  18.     echo '假';
  19. }
  20. $var='0';
  21. if($var){
  22.     echo '真';
  23. }else{
  24.     echo '假';
  25. }
  26. $var=null;
  27. if($var){
  28.     echo '真';
  29. }else{
  30.     echo '假';
  31. }
  32. $var=array();
  33. if($var){
  34.     echo '真';
  35. }else{
  36.     echo '假';
  37. }
  38. ?>

启动浏览器并且浏览器该文件,其运行效果如图-1所示。

图-1

1.4 完整代码

01-transBool.php具体代码实现如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Insert Title Here</title>
  6. </head>
  7. <body>
  8. <?php
  9. header('content-type:text/html;charset=utf-8');
  10. $var=0;
  11. if($var){
  12.     echo '真';
  13. }else{
  14.     echo '假';
  15. }
  16. $var=0.0;
  17. if($var){
  18.     echo '真';
  19. }else{
  20.     echo '假';
  21. }
  22. $var='';
  23. if($var){
  24.     echo '真';
  25. }else{
  26.     echo '假';
  27. }
  28. $var='0';
  29. if($var){
  30.     echo '真';
  31. }else{
  32.     echo '假';
  33. }
  34. $var=null;
  35. if($var){
  36.     echo '真';
  37. }else{
  38.     echo '假';
  39. }
  40. $var=array();
  41. if($var){
  42.     echo '真';
  43. }else{
  44.     echo '假';
  45. }
  46.  
  47. ?>
  48. </body>
  49. </html>

2 2.转换成数值类型

2.1 问题

将特殊值转换成数值类型,并且打印结果。

2.2 方案

记住转换原则。

转换成数值型:

True->1

False->0

如果字符串以非法数字开始->0

如果字符串以合法数字开始,取到第一个非法字符为止

Null->0

2.3 步骤

第一步,创建标准的PHP文档。

第二步,通过简单的加法运算,测试其它类型转换成数值型。其代码如下:

  1. <?php
  2. echo 1+'1','<br/>';
  3. echo 1+'1.3','<br/>';
  4. echo 1+'2e3','<br/>';
  5. echo 1+'-2E-2','<br/>';
  6. echo 1+'true','<br/>';
  7. echo 1+'3k2ing','<br/>';
  8. echo 1+true,'<br/>';
  9. echo 1+false,'<br/>';
  10. echo 1+$tarena,'<br/>';
  11. ?>

启动浏览器并且浏览器该文件,其运行效果如图-2所示。

图-2

2.4 完整代码

02-transNumber.php具体代码实现如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Insert Title Here</title>
  6. </head>
  7. <body>
  8. <?php
  9. header('content-type:text/html;charset=utf-8');
  10. echo 1+'1','<br/>';//转换成1
  11. echo 1+'1.3','<br/>';//转换成1.3
  12. echo 1+'2e3','<br/>';//转换成2000
  13. echo 1+'-2E-2','<br/>';//转换成-0.02
  14. echo 1+'true','<br/>';//转换成0
  15. echo 1+'3k2ing','<br/>';//转换成3
  16. echo 1+true,'<br/>';//转换成1
  17. echo 1+false,'<br/>';//转换成0
  18. echo 1+$tarena,'<br/>';//未定义的变量为NULL,接着转换成0
  19. ?>
  20. </body>
  21. </html>

3 3.转换成字符类型

3.1 问题

将特殊值转换成字符类型,并打印结果。

3.2 方案

记住转换原则。

转换成字符串型:

数值转换成数值本身

True->1

False->空字符串

Null->空字符串

数组->Array

资源->Resource id #数字

3.3 步骤

第一步,创建标准的PHP文档。

第二步,通过echo输出检测其它类型转换成字符串类型,其代码如下:

  1. <?php
  2. echo 1,'<br/>';//数值本身
  3. echo 1.3,'<br/>';//数值本身
  4. echo true,'<br/>';//字符串的1
  5. echo false,'<br/>';//空字符串
  6. echo $tarena,'<br/>';//$tarena未声明为NULL,转换成空字符串''
  7. $arr=array();//数组
  8. echo $arr,'<br/>';//字符串Array
  9. $handler=fopen('03-transString.php','r');//以读的方式打开这个文件,打开成功,返回资源
  10. echo $handler;//转换成Resource id #序号
  11. ?>

启动浏览器并且浏览器该文件,其运行效果如图-3所示。

图-3

3.4 完整代码

03-transString.php具体代码实现如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Insert Title Here</title>
  6. </head>
  7. <body>
  8. <?php
  9. header('content-type:text/html;charset=utf-8');
  10. echo 1+'1','<br/>';//转换成1
  11. echo 1+'1.3','<br/>';//转换成1.3
  12. echo 1+'2e3','<br/>';//转换成2000
  13. echo 1+'-2E-2','<br/>';//转换成-0.02
  14. echo 1+'true','<br/>';//转换成0
  15. echo 1+'3k2ing','<br/>';//转换成3
  16. echo 1+true,'<br/>';//转换成1
  17. echo 1+false,'<br/>';//转换成0
  18. echo 1+$tarena,'<br/>';//未定义的变量为NULL,接着转换成0
  19. ?>
  20. </body>
  21. </html>