批改状态:合格
老师批语:
<?phpecho "数据类型:<br>";// PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有(int)、(integer):转换成整形// (float)、(double)、(real):转换成浮点型// (string):转换成字符串// (bool)、(boolean):转换成布尔类型// (array):转换成数组// (object):转换成对象$abc=123;$str=(string)$abc;echo '<pre>数值123转换成字符串:',$str,"=>".gettype($str),"</pre>";echo '<pre>字符串转"369string"换成数值:',(int)'369string',"</pre>";var_dump((Array)100);$ty=(Array)100;print_r($ty);echo "<hr>";class demo{var $name;public function getvar(){echo "ok";}function __toString(){return '类转化成字符串';}}echo "数组转化:<br>";$obj=new demo;var_dump((Array)1,(array)'abcd',(Array)function(){},(array)$obj);echo "<hr>";//自动转化echo '<pre>1+true=',1+true,"\t",gettype(1+true),'</pre>';echo '<pre>1+"123string"=',1+(int)"123string","\t",'不手动转化,系统自动转化会警告','</pre>';echo "<hr>";//浮点型:echo "<pre>";$op=(double)123.1;$op1=(float)123.1;echo 'double与float竟让能=== =>';echo $op===$op1;echo "</pre>";echo '<pre>浮点数转化成整数:取出最大数(在小于的整数中)(int)(100/3)=',(int)(100/3),'</pre>';echo '<pre>浮点数转化成字符串',(string)123.698,'</pre>';echo '<pre>浮点数转化成bool',(bool)123.3,'</pre>';echo '<pre>浮点数转化成对象',((object)123.6)->scalar,'</pre>';$f=(Array)123.3;echo '<pre>浮点数转化成数组',print_r($f),'</pre>';echo "<hr>";//字符串:echo <<< EOT<pre>字符串转"string369"换成数值:0;</pre>EOT;echo '字符串转化成整形:',(int)'123a';echo "<pre></pre>";echo '字符串转化成布尔型:',(bool)'123a';echo "<pre></pre>";// 第二种转换方式:intval() floatval() strval()//int intval ( mixed $var [, int $base = 10 ] ) $base依照转化的类型echo intval('1123c');echo "<pre></pre>";// float floatval ( mixed $var ) $var:要转换的变量,不能是数组或对象。doubleval 是 floatval 的别名。echo floatval('123456.09c');echo "<pre></pre>";// string strval ( mixed $var ) strval() 函数用于获取变量的字符串值。 $var: 可以是任何标量类型,但不能是数组或对象。$int_str= 123.3;var_dump($int_str);$str = strval(123.3);var_dump($str);echo "<pre></pre>";//bool settype ( mixed &$var , string $type )设置成功时返回 TRUE, 失败时返回 FALSE。$var: 要转换的变量。$var=100;echo settype($var,'boolean');var_dump($var);echo "<pre></pre>";$var=100;echo settype($var,'null');var_dump($var);
效果:
答:
<?php// is_numeric():检查参数是否是数值或数值型的字符串function add($add1,$add2){if(is_numeric($add1) and is_numeric($add2)){printf("%d + %d = %d",$add1,$add2,$add1+$add2);}else{echo "参数出错";}}add(100.10,300.01);echo "<pre></pre>";// php7+: 参数类型检测,支持复合类型,也支持标量function rewadd(float $a,float $b) : int{return ($a + $b);}echo rewadd(1,2);echo "<pre></pre>";// function rewadd1(int $a,int $b) : int// {// $c=$a + $b;// return $c;// }// echo rewadd1(100,2);echo "php7中 integer 不能做函数的参数 但是int可以";echo "<hr>";// is_scalar()//检查 是否为标量 注意判断NUll标量是一种基本数据类型。echo '检查 是否为标量:';echo "<pre>标量一定是基本数据类型</pre>";echo gettype(1),'=>' ,1,'是',is_scalar(1)?'标量':'非标';echo "<pre></pre>";echo gettype('1aassd'),'=>' ,'1aassd','是',is_scalar('1aassd')?'标量':'非标';echo "<pre></pre>";echo gettype(null),'=>' ,null,'是',is_scalar(null)?'标量':'非标,null是特殊类型';echo "<pre></pre>";
效果:
答:
<?php// 1. 驼峰式: $itemPrice,变量,对象的属性和方法, getUser()// 2. 蛇形: set_public(),函数// 3. 帕斯卡(大驼峰): UserModel, 类,与驼峰式很像// 常量 :全大写(非强制)//变量有两部分构成:$+变量名(字母,数字,下划线构成,数字不能开头)$st=123;var_dump($st);echo "<br>";$st='123';var_dump($st);echo "<br>";$st=[];var_dump($st);echo "<br>";echo "php中变量类型可以随时改变";echo "<br>";$a=$b=123;$b=null;echo $a;echo "<br>";//引用赋值:$c=100;$d=&$c;#//引用赋值echo $d;echo "<br>";$c=10;echo $d;echo "<br>";unset($c);echo $d;echo "<hr>";echo "动态变量";echo "<br>";$abc='hello';$$abc='hello,我是动态变量,命名必须要符合变量的命名规则';echo $$abc;echo "<br>";echo $hello,',相当于定义新变量';echo "<hr>";//define函数 value 必须是标量( int、 float、string、boolean、null)在 PHP 7 中还允许是个 array 的值。define('HELLO', '外国话');echo HELLO;echo "<br>";echo defined('HELLO')?'常量已定义':'常量未定义';echo "<br>";//关键字const ANME = 'china';echo ANME;echo "<br>";echo defined('ANME')?'常量已定义':'常量未定义';echo "<br>";// 程序执行有二个阶段: 编译, 运行// 编译阶段就是静态分析,主要针对现在能看到的,或者能确定下值的东西// 常量,常量,类声明// const 运行在编译阶段// define()在运行阶段才创建常量// if(),function ()const express=[1,2,3,4,5,6,7,8,9];var_dump(express);
效果:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号