博客列表 >php的变量&常量

php的变量&常量

后网络时代
后网络时代原创
2021年01月27日 18:28:24681浏览

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);

效果:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议