变量类型分为:单值变量(boolean,integer,float,string),多值变量(array和object),特殊类型(资源型,null) .
单值变量在4月11日的课程中讲过,非常简单。现在总结多值变量类型如下:
$books=['php', 'html', 'css', 'javascript', 'mysql']; //字符串和逗号之间有空格,这个不知道什么原理,先这么记着。
分别用echo ,print_r,var_dump来输出看看效果。输出之前先用pre格式化,为了更直观。echo '<pre>';
echo '<pre>';
echo $books;
Notice: Array to string conversion in E:\xampp\htdocs\test.php on line 100
Array 报警 然后输出Array;
print_r($books);
Array
(
[0] => php
[1] => html
[2] => css
[3] => javascript
[4] => mysql
) // 输出后从0-4排列,这个不知道为什么会自动排序,还没学到。
var_dump($books);
array(5) { // 提示5个数组
[0]=>
string(3) "php" //提示3个字节
[1]=>
string(4) "html"
[2]=>
string(3) "css"
[3]=>
string(10) "javascript"
[4]=>
string(5) "mysql"
} // var_dump比print_r和echo都要牛逼,功能更强大。var_dump可以提示字符串的长度。一个字母代表一个字节,3个字节代表一个中文字的长度。
接下来就是对象,这个相对来说更复杂了,对象在JS里也有吧,容易混淆
$student = new stdClass();
$student -> name = '王石';
$student -> course = 'PHP课程';
$student -> grade = '80年级';
echo $student; // echo, print_r , var_dump输出 都报警 不知道什么情况。
Catchable fatal error: Object of class stdClass could not be converted to string in E:\xampp\htdocs\test.php on line 108 //stdClass对象不能被转换成字符串
特殊类型(资源型)//这个也不太理解
$file= fopen('test.php','r') or die ('打开失败');
echo fread($file,filesize('test.php'));
fclose($file);
变量类型转换 我写个流程
检测类型 已经学了9种,分别如下:
is_integer()
is_float()
is_string()
is_bool()
is_array()
is_object()
is_resource()
is_null()
is_numeric()
也就是说要用检测函数,检测到底是不是一直的类型,再根据功能需求转换成需要的类型哦
强制转换,转换类型,也转换值
临时转换,这个转换值,不转换类型
永久转换 这个不能乱转换,很危险,系统都会奔溃。
这节课有点复杂,我得慢慢熟悉了。