Blogger Information
Blog 26
fans 0
comment 3
visits 17708
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php的变量&常量
后网络时代
Original
678 people have browsed it

1. 数据类型的转换,实例演示;

  1. <?php
  2. echo "数据类型:<br>";
  3. // PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有(int)、(integer):转换成整形
  4. // (float)、(double)、(real):转换成浮点型
  5. // (string):转换成字符串
  6. // (bool)、(boolean):转换成布尔类型
  7. // (array):转换成数组
  8. // (object):转换成对象
  9. $abc=123;
  10. $str=(string)$abc;
  11. echo '<pre>数值123转换成字符串:',$str,"=>".gettype($str),"</pre>";
  12. echo '<pre>字符串转"369string"换成数值:',(int)'369string',"</pre>";
  13. var_dump((Array)100);
  14. $ty=(Array)100;
  15. print_r($ty);
  16. echo "<hr>";
  17. class demo{
  18. var $name;
  19. public function getvar(){
  20. echo "ok";
  21. }
  22. function __toString()
  23. {
  24. return '类转化成字符串';
  25. }
  26. }
  27. echo "数组转化:<br>";
  28. $obj=new demo;
  29. var_dump((Array)1,(array)'abcd',(Array)function(){},(array)$obj);
  30. echo "<hr>";
  31. //自动转化
  32. echo '<pre>1+true=',1+true,"\t",gettype(1+true),'</pre>';
  33. echo '<pre>1+"123string"=',1+(int)"123string","\t",'不手动转化,系统自动转化会警告','</pre>';
  34. echo "<hr>";
  35. //浮点型:
  36. echo "<pre>";
  37. $op=(double)123.1;
  38. $op1=(float)123.1;
  39. echo 'double与float竟让能=== =>';
  40. echo $op===$op1;
  41. echo "</pre>";
  42. echo '<pre>浮点数转化成整数:取出最大数(在小于的整数中)(int)(100/3)=',(int)(100/3),'</pre>';
  43. echo '<pre>浮点数转化成字符串',(string)123.698,'</pre>';
  44. echo '<pre>浮点数转化成bool',(bool)123.3,'</pre>';
  45. echo '<pre>浮点数转化成对象',((object)123.6)->scalar,'</pre>';
  46. $f=(Array)123.3;
  47. echo '<pre>浮点数转化成数组',print_r($f),'</pre>';
  48. echo "<hr>";
  49. //字符串:
  50. echo <<< EOT
  51. <pre>
  52. 字符串转"string369"换成数值:0;
  53. </pre>
  54. EOT;
  55. echo '字符串转化成整形:',(int)'123a';
  56. echo "<pre></pre>";
  57. echo '字符串转化成布尔型:',(bool)'123a';
  58. echo "<pre></pre>";
  59. // 第二种转换方式:intval() floatval() strval()
  60. //int intval ( mixed $var [, int $base = 10 ] ) $base依照转化的类型
  61. echo intval('1123c');
  62. echo "<pre></pre>";
  63. // float floatval ( mixed $var ) $var:要转换的变量,不能是数组或对象。doubleval 是 floatval 的别名。
  64. echo floatval('123456.09c');
  65. echo "<pre></pre>";
  66. // string strval ( mixed $var ) strval() 函数用于获取变量的字符串值。 $var: 可以是任何标量类型,但不能是数组或对象。
  67. $int_str= 123.3;
  68. var_dump($int_str);
  69. $str = strval(123.3);
  70. var_dump($str);
  71. echo "<pre></pre>";
  72. //bool settype ( mixed &$var , string $type )设置成功时返回 TRUE, 失败时返回 FALSE。$var: 要转换的变量。
  73. $var=100;
  74. echo settype($var,'boolean');
  75. var_dump($var);
  76. echo "<pre></pre>";
  77. $var=100;
  78. echo settype($var,'null');
  79. var_dump($var);

效果:

2.变量检测技术,实例演示;

答:

  1. <?php
  2. // is_numeric():检查参数是否是数值或数值型的字符串
  3. function add($add1,$add2){
  4. if(is_numeric($add1) and is_numeric($add2)){
  5. printf("%d + %d = %d",$add1,$add2,$add1+$add2);
  6. }
  7. else{
  8. echo "参数出错";
  9. }
  10. }
  11. add(100.10,300.01);
  12. echo "<pre></pre>";
  13. // php7+: 参数类型检测,支持复合类型,也支持标量
  14. function rewadd(float $a,float $b) : int
  15. {
  16. return ($a + $b);
  17. }
  18. echo rewadd(1,2);
  19. echo "<pre></pre>";
  20. // function rewadd1(int $a,int $b) : int
  21. // {
  22. // $c=$a + $b;
  23. // return $c;
  24. // }
  25. // echo rewadd1(100,2);
  26. echo "php7中 integer 不能做函数的参数 但是int可以";
  27. echo "<hr>";
  28. // is_scalar()//检查 是否为标量 注意判断NUll标量是一种基本数据类型。
  29. echo '检查 是否为标量:';
  30. echo "<pre>标量一定是基本数据类型</pre>";
  31. echo gettype(1),'=>' ,1,'是',is_scalar(1)?'标量':'非标';
  32. echo "<pre></pre>";
  33. echo gettype('1aassd'),'=>' ,'1aassd','是',is_scalar('1aassd')?'标量':'非标';
  34. echo "<pre></pre>";
  35. echo gettype(null),'=>' ,null,'是',is_scalar(null)?'标量':'非标,null是特殊类型';
  36. echo "<pre></pre>";

效果:

2. 变量声明与常量用声明的方式与使用,实例演示

答:

  1. <?php
  2. // 1. 驼峰式: $itemPrice,变量,对象的属性和方法, getUser()
  3. // 2. 蛇形: set_public(),函数
  4. // 3. 帕斯卡(大驼峰): UserModel, 类,与驼峰式很像
  5. // 常量 :全大写(非强制)
  6. //变量有两部分构成:$+变量名(字母,数字,下划线构成,数字不能开头)
  7. $st=123;
  8. var_dump($st);
  9. echo "<br>";
  10. $st='123';
  11. var_dump($st);
  12. echo "<br>";
  13. $st=[];
  14. var_dump($st);
  15. echo "<br>";
  16. echo "php中变量类型可以随时改变";
  17. echo "<br>";
  18. $a=$b=123;
  19. $b=null;
  20. echo $a;
  21. echo "<br>";
  22. //引用赋值:
  23. $c=100;
  24. $d=&$c;#//引用赋值
  25. echo $d;
  26. echo "<br>";
  27. $c=10;
  28. echo $d;
  29. echo "<br>";
  30. unset($c);
  31. echo $d;
  32. echo "<hr>";
  33. echo "动态变量";
  34. echo "<br>";
  35. $abc='hello';
  36. $$abc='hello,我是动态变量,命名必须要符合变量的命名规则';
  37. echo $$abc;
  38. echo "<br>";
  39. echo $hello,',相当于定义新变量';
  40. echo "<hr>";
  41. //define函数 value 必须是标量( int、 float、string、boolean、null)在 PHP 7 中还允许是个 array 的值。
  42. define('HELLO', '外国话');
  43. echo HELLO;
  44. echo "<br>";
  45. echo defined('HELLO')?'常量已定义':'常量未定义';
  46. echo "<br>";
  47. //关键字
  48. const ANME = 'china';
  49. echo ANME;
  50. echo "<br>";
  51. echo defined('ANME')?'常量已定义':'常量未定义';
  52. echo "<br>";
  53. // 程序执行有二个阶段: 编译, 运行
  54. // 编译阶段就是静态分析,主要针对现在能看到的,或者能确定下值的东西
  55. // 常量,常量,类声明
  56. // const 运行在编译阶段
  57. // define()在运行阶段才创建常量
  58. // if(),function ()
  59. const express=[1,2,3,4,5,6,7,8,9];
  60. var_dump(express);

效果:

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
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!