前端PHP入门-004-数据类型,特别需要注意字符串
人类世界对万事万物都有种类划分,例如:
哺乳动物
人、猫、马、鸭嘴兽….等等
蔬菜
西红柿、波菜、茄子….等等
水果
西瓜、桃子、苹果….等等
数据类型:就是对数据分类的一个划分而已
整型就是整数
我一直在讲,不要被名词的含义所吓唬住。
到底什么是整型呀?
所谓整型,就是大家数学中所学的整数,我们最经常使用的。
整型——整数也,英文称之:`integer`。英文简写:`int`
整型分为:
- 10进制
- 8进制 (了解,基本不用)- 0开头的
- 16进制(了解,基本不用)- 0X开头
整型(整数)在计算机里面是有最大值和最小值范围的。
备注:
- 32位计算机,也就是32位计算机一次运算处理的最大范围为-232至232-1。
- 64位计算机呢?——-264至264-1 所以为什么现在大家都是用64位计算机了吧
10进制声明
对你你们到这种程度就可以了!别忘深里研究,了解即可
<?php//声明变量 整数,英文 int//$int = 1000;$zhengshu = 1000;echo $zhengshu;?>
8进制声明
以0开始,后面跟0-7的整数(了解知识点)
//8进制的取值范围最大为0-7,即0,1,2,3,4,5,6,7//能力有限使用的比较少$bajingzhi = 033145;//八进制代码echo $bajingzhi;
16进制声明
以0x开始,后面跟0-f的,0x的abcdef不区分大小写。(了解知识点)
<?php//16进制的取值范围最大为0-f,即0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f$shiliu = 0x6ff;echo $shiliu;?>
别去考虑8进制和16进制是怎么实现的,没有用! 学会如何声明10制制整数即可。了解8制制和16进制的声明,实在不会也不要紧
布尔
所谓布尔类型,举个例子帮助理解:
- 阴/阳
- 男/女
- 真/假
- 对/错
- 存在/不存在
- 0/1
等等…. …简单的思维,没有模棱两可
<?php//声明一个变量(拼音)为布尔$buer = true;//导明一个变量(英文)$bool = false;?>
注:true和false外面不要加引号。类型转换,后面的课程当中我们来讲解。
false家族成员,在Java当中只有true和false,
** 重点,重点,重点**
布尔值=false .
整数值=0
浮点数=0.0
空字符串
空数组
没有变量成员的对象。
变量值为空NULL
思考: JavaScript的false五兄弟是哪些?
除了上述情况以外,其余情况值将会被转换为true,
一般来说,1为true,0为false。
这些转换将在以后的判断语句中经常遇到。
字符串
字符串就是所有我们可见和不可见的字符,就是我们日常当中说的话,就是我想说:“胖先生你比宋仲基都帅”或者“王尼玛,我爱你!”。
字符串,就是我想表达的一切让人看到的字符。
如何声明字符串
在PHP语言中声明字符串有三种方式:
- 用单引号声明
- 用双引号声明
- 用字界符声明(需要输入非常大段的字符串时使用)
单引号声明
用英文半脚的单引号,将字符串包起来
<?php//声明字符串变量$zhifu$zhifu = '曾经有操蛋的爱情摆在我面前,我珍惜了。当我得到的时候才感到后悔莫及。如果非要在这段爱情前面加上一段三个字,我愿意说三个字:滚犊子';//你可以放www指定的目录下,新建一个文件叫str.php。然后访问一下http://127.0.0.1/str.php试试。会不会显示这句话。echo $zhifu;//想好玩可以加入样式哟!~~~~?>```## 双引号声明字符串> 在字符串两边加双引号。```php<?php//声明字符串变量$str$str = "如果非要在滚犊子前面加上一个时间的话我愿意是马上。";echo $str;?>
字界符声明
- 在变量后面的等号写三个小于号(<<<)。
- 然后在<<<后面写上字符(建议英文大写字符)。如下例中的:ABC
- 然后换行写上任意想写的字符
- 写完后,顶行。在行最开始处,再写上<<<后面的字符和分号。如下例中的:ABC;
<?php$dingjie = <<<ABC如果非要在这个滚犊子前面<br />加上一段<i>距离的话</i>我想说:<h1>思想有多远,你就跟我滚多远</h1>ABC;?>
重点,双引号和单引号有什么区别呢?
重要知识点PHP面试题中,高概率面试题(建议背诵并实验三遍以上)
- 双引号
解析变量,但是单引号不解析变量。 - 在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。
一定要在变量后面接上特殊字符,例如空格等分开。 - 如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。
推荐写法 - 双引号解析转义字符,单引号不解析转义字符。但是,单引号能解析\' 和\
- 单引号效率高于双引号,
尽可能使用单引号 - 双号和单引号可以互相使用!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。
- 神奇的字符串拼接胶水——(
.)点,用来拼接字符串。 - 我们将定界符声明字符串视为双引号一样的功能来看待。
实验举例
1.双引号解析变量,但是单引号不解析变量
双引号:
<?php//声明变量$shouji$shouji = '为了苹果手机去卖肾';//在双引号中放$shouji 然后echo 一下是什么效果呢?$str = "$shouji 会不会显示呢?";//输入$str试试echo $str;?>
单引号:
<?php//声明变量$shouji$shouji = '为了苹果手机去卖肾';//在单引号引号中放$shouji 然后echo 一下是什么效果呢?$str = `$shouji 会不会显示呢?`;//输入$str试试echo $str;?>
通过上例,我们证明了:双引号执行变量,而单引号不执行变量。
我们得到一个重要结论:
1.双引号需要解析变量,因此双引号的效率没有单引号高。
2.我们如果为了更高的效率,我们通常使用单引号。
2.在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。可以在后面接上特殊字符,例如空格等分开。
<?php$huaqiangu = '花千骨';//直接连接使用$str = "$huaqianguaaaa";//你会发现输出$str,什么都没有在页面中显示echo $str;?>
** 改进代码,空格分隔**
<?php$huaqiangu = '花千骨';//中间加了空格哟$str = "$huaqiangu aaaa";echo $str;?>
再改进代码,使用叹号!
<?php$huaqiangu = '花千骨';//中间加了叹号$str = "$huaqiangu!aaaa";echo $str;?>
写这么多就是为了证明上面的使用规则
3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。
那,如果我不想在后面有空格有,有特殊符号,就想直接显示变量$huaqiangu呢?——我们的解决办法是用大括号把变量包起来。代码如下:
<?php$huaqiangu = '花千骨';//使用大括号了$str = "{$huaqiangu}aaaa";echo $str;?>
4.双引号解析转义字符,单引号不解析转义字符。但,单引号能解析\' 和\
第4个字符串的注意事项比较难以观察,转义字符有一些,但最常用的有:
- \n 回车
- \t 缩进
这个跟你们之前学习JavaScript当中的使用方式一致
<?php//声明一个字符串,记住是双引号$string = "我,每天\n给梦想\t一个机会";echo $string;?>
页面中看不到效果,右键查看源代码才能看到想过
$string = "我,每天\n给梦想\t一个机会";
\n在每天的后面,在源代码里显示的结果是跟按了回车键一样的效果。
\t在给梦想和一个机会中间。显示的结果是有几个空格的效果。\t相当于我们在电脑上按了一个tab键效果。
BUT,我们同样执行一下上面的代码,但是$string双引号改为用单引号:
<?php//声明一个字符串,记住是双引号$string = '我,每天\n给梦想\t一个机会';echo $string;?>
证明: 双引号执行转义字符而单引号不执行转义字符。
5.转义字符\(反斜线的使用,很好用)
如果我们声明一个变量beizi,我们想要在" role="presentation" style="position: relative;">beizi,我们想要在beizi,我们想要在beizi声明的双引号中间加上一个双引号显示输出怎么办?
<?php//要在$beizi的字符串中显示一个双引号怎么办?$beizi = "多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧";echo $beizi;?>
悲剧啦!
如果真如上述所写代码,代码会报错。报错结果如下:
因为字符串:“多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧”必须写在双引号中间。而双引号中间还有一个双引号。也就是意味着字符串声明提前结束了,在“但是”处结束了。后面"我们在不断的让人生变为喜剧",电脑不认识。
这真是一个杯具!那么办?
答:我们需要将双引号原有的意义去掉。再双引号前面加上一个\(反斜线,计算机的专业名词叫转义字符),就可以了。
```php
<?php
//要在$beizi的字符串中显示一个双引号怎么办?
$beizi = "多于绝大多数的人出生就是杯具,但是\"我们在不断的让人生变为喜剧";
echo $beizi;
?>
你可以再执行一下上面的代码,发现不再报错了。同理可推,单引号当中要插入一个单引号显示出来的时候,也可以在单引号声明的字符串中的单引号前面加上(反斜线,转义字符),将单引号的意义(限定字符区间)去掉。```php<?php//要在$beizi的字符串中显示一个双引号怎么办?$shengyang = 'i\'m xiaoshengyang';echo $shengyang;?>
6.双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。
```php
<?php
$legend = '猛虎';
$NoAlike = "心有'$legend',细嗅蔷薇";
echo $NoAlike;//运行结果为-->心有'猛虎',细嗅蔷薇
?>
7.`重点`神奇的字符串拼接胶水——(.)点,用来拼接字符串。```php<?php$huaqiangu = '花千骨';//中间加了空格哟$str = "{$huaqiangu}aaaa";echo $str;?>
上面这段代码是,我们曾经说过双引号能够解析变量,有一个问题:
效率没有纯单引号的高
问题1:我想改为效率最高的方式应该怎么办?
问题2:我有多个字符串,要拼接在一声怎么办?
使用到神奇的胶水[粘合剂]:(.)点,用来拼接字符串。
<?php$shixi = '大学4年要好好学习<br />';$buran = '不然连实习的机会都没有<br />';$mimang = '把别人用来迷茫的时间拿到胖先生这里学习<br />';$xuexi = '学习PHP<br />';//我们可以把字符串全部拼接起来。echo $shixi . $buran . $mimang . $xuexi;?>
JavaScript如何做呢?
因此,刚刚的问题一的代码我们可以改为:
```php
<?php
huaqiangu=′花千骨′;//中间加了空格哟" role="presentation" style="position: relative;">huaqiangu=′花千骨′;//中间加了空格哟huaqiangu=′花千骨′;//中间加了空格哟str = $huaqiangu . 'aaaa';
echo $str;
?>
8.我们将定界符声明字符串视为双引号一样的功能来看待。```php<?php$weilai = '努力才有未来';$mimang = '迷茫的原因是没有目标';$dingjie = <<<ABC如果$weilai非要\t在这"个滚"犊子前'$mimang'面<br />加上\n一段<i>距离的话</i>我想说:<h1>思想有多远,你就跟我滚多远</h1>ABC;echo $dingjie;?>
你可以执行发现weilai," role="presentation" style="position: relative;">weilai,weilai,mimang,\t\n都可以执行,双引号单引号都能显示。这就是定界符的特点。
再声明一次:字符串的声明每一项都必须记住,非常常用。并且面试题出现的概率非常高!
不可见字符:主要是计算机规定的一些特殊符号。例如:回车(\n)、缩进(\t)等。
浮点型
所谓浮点类型,可以理解为:我们数学里面的小数。
【注意】关于精度、取值范围和科学型声明不是学习的重点。因为此块在实际开发中用的特别少。针对于WEB前端的各位学生
声明方式分为两种:
- 普通声明
- 科学声明
普通声明浮点数
```php
<?php
//声明变量fudian的值为12121.3132
fudian=12121.3132;echo" role="presentation" style="position: relative;">fudian=12121.3132;echofudian=12121.3132;echofudian;
//声明变量fl的值为0.8873" role="presentation" style="position: relative;">fl的值为0.8873fl的值为0.8873fl = 0.8873;
var_dump($fl);//看这里,看这里,看这里
?>
我们将文件保存到www目录下,保存文件名为:float.php。在浏览器地址栏,输入: http://127.0.0.1/float.php , 执行看看结果,如下:`echo 直接输出了12121.3132,而var_dump 输出了0.8873,还显示了变量$fl的类型为float。`----------> var_dump() 是一个函数。向括号()中间`插入变量`。这个函数,会打印出来`数据类型`,还会对应显示变量的`长度`和`值`。> var 是指变量的英文 : variable----------# NULL类型,别死在这里> 空在英文里面表示是null,它是代表`没有`。空(null)`不是false`,`不是0`,也`不是空格`。【重点】知道null产生的三种情况,学习empty 和 isset两个函数的区别。主要有以下三空情况会产生空(null)类型:+ 通过变量赋值明确指定为变量的值为NULL+ 一个变量没有给任何值+ 使用函数unset()将变量销毁掉```php<?php//声明变量为null$n = null;var_dump($n);//var_dump显示输出变量$meiyou,看看结果是什么?var_dump($meiyou);//声明一个变量$iphone的值为字符串的手机$iphone = '手机';//unset销毁掉一个变量unset($iphone);var_dump($iphone);?>
接下来我们来讲解两个跟null相关的函数,这两个函数非常常用,我们将级别定义为【默写级别】。
- empty()可以向括号中间传入一个变量。这个变量的值如果为false或者为null的话,返回true。
<?php$apple = null;if(empty($apple)){echo '执行了真区间,凤姐,我爱你';}else{echo '行了假区间,你想凤姐了';}?>
上述实验证明,$apple为null。将apple放至empty中间。结果执行了真区间。
- isset()可以向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有有一个变量为null,则返回false。否则,则返回true。
<?php//待会儿将变量$jia改为null再执行看看结果$jia = false;$result = isset($jia);var_dump($result);?>
告诉我答案:
<?php$one = 10;$two = false;$three = 0;$four = null;$result = isset($one , $two , $three , $four);//执行看看结果,是不是var_dump($result);?>
我没有对象呢?不讲了,以后再说!
对象类型大家这这里不用学习。
私人定制,以后找到对象在学习!

知道对象是一个复合类型,对象的英文叫object
var_dump一个变量的时候看到的类型为object的
这个变量就是对象类型
墙角画圈圈呢?数组,不认识它
数组类型我们也不在这里学习,因为以后会也有一个章节来进行讲解。
本章重点:
- 知道数组是一个复合类型
- 数组的英文叫array,var_dump一个变量的时候看到的类型为array的,这个变量就是数组类型
- 会一个最简单、最基本的数组声明【默写】
接下来我们声明一个数组,了解数组里面可以插入多个值就行。
<?php//定义$shu这个变量//数组声明是向array里面插入一个或者多个值//一个或者多个值用逗号分开$shu = array(1,2,3);?>
资源类型 , 谁有资源,介绍一下?

资源类型很多初学者觉得比较难以理解。因为资源类型打印出来只能够看到一个英文的resource。其他的什么在电脑上都不能显示出来,而他有客观存在。
其实,资源类型很简单。我们针对词来进行说明。
电脑里面的资源是指:
- word,excel等文件
- 有人收藏的美女图片和我们的自拍照片等图片
- 音乐
- 打开的网页
- 数据库
- 等等我想静静
我们打开一个图片,用PHP来操作它,我们就是
操作的一个资源。
我们打开的数据库连接,我们需要连接数据库,数据库就是我们操作的资源。
包括网络连接,连接后发送邮件,我们也可以认为是一个资源。
本章重点:
理解资源就提操作我们可见和不可见的文件、网络和数据。
我们在以后的章节中,操作图片和网络的时候大家会有更为深刻的印象。
# 眼前了解回调类型即可
callback,英文中的call是叫,back是返回,回来的意思。
callback 汉译过来的意思即为:回调。
(执行完成,再调一次某个功能执行一次)
我们在讲解函数类型和对象的时候,我们会演示讲解回调函数
# 查看和判断数据类型
我们知道了一个数据的类型,才能进行下一步操作。后面的时候,大家可以学习到更多的知识——自定义功能(函数)。
我们来做一个场景模拟:(注:眼前不用会写这个函数,以后会教大家)
假设,我们可以写一个智能的功能(函数),它让有一个功能,就是打开一个装有学生成绩的电子表格。这个函数非常先进。
- 只有一个人的时候,就返回一个人的成绩,成绩是整型或者浮点型变量。
- 有2个或两个以上人的时候,返回一个数组类型变量,数组中装有多个人的成绩
- 如果没有人的时候,则返回布尔值的变量,变量值为false
通过上面的一个场景模拟,我们知道了,一个函数(功能)有可能返回不同的数据类型。因此,我们可以根据不同的类型来做不同的事情。
判断数据类型很重要,我们需要严格掌握。
【默写级知识点】显示类型的函数、得到类型的函数、判断类型的函数
查看数据类型
gettype(传入一个变量) 能够获得变量的类型
```php
<?php
//声明一个变量88.8,
//你可以自己多做几次实验换成其他类型看看type输出是多少" role="presentation" style="position: relative;">type输出是多少type输出是多少float = 88.8;
type=gettype(" role="presentation" style="position: relative;">type=gettype(type=gettype(float);
echo $type;
?>
```
var_dump(传入一个变量) 输出变类型和值
```php
//多换几个类型试试
$str = '你喜欢尊上还是喜欢杀仟陌?';
var_dump($str);
```
判断数据类型
使用is_* 系列函数。
is_types这一系列的函数,来进行判断某个东西是不是某个类型。
如果是这个类型返回真,不是这个类型返回假。
| 方法名 | 描述 |
|---|---|
| is_int | 是否为整型 |
| is_bool | 是否为布尔 |
| is_float | 是否是浮点 |
| is_string | 是否是字符串 |
| is_array | 是否是数组 |
| is_object | 是否是对象 |
| is_null | 是否为空 |
| is_resource | 是否为资源 |
| is_scalar | 是否为标量 |
| is_numeric | 是否为数值类型 |
| is_callable | 是否为函数 |
<?php//is_* 系列函数有个特点,就是如果是这个类型就返回的是真。不是这个数据类型就返回的是假//声明类型为假$fo = false;if(is_bool($fo)){echo '执行真区间';}else{echo '执行假区间';}//检查未声明的变量$p是否为空,为空就执行真区间if(is_null($p)){echo '执行真区间';}else{echo '执行假区间';}//字符串类型的数值,看看执行的是真还是假$str = '18.8';if(is_numeric($str)){echo '执行真区间';}else{echo '执行假区间';}?>----->重新进行测试代码//把sca的值换成整型、浮点、布尔和字符串试试$sca = true;//如果为标量,执行真区间if(is_scalar($sca)){echo '执行真区间';}else{echo '执行假区间';}//换成echo,is_int试试,为什么echo执行假区间呢?if(is_callable('var_dump')){echo '执行真区间';}else{echo '执行假区间';}
注:is_types 很好记。is_ 在前后面跟类型即可。标量:整型(int) 浮点(float)、布尔(bool)、字符串(string)混合类型: 数组(array)、对象(object)特殊类型:空(null)、 资源(resouce)、回调(callback)为什么最后的实验中echo执行假区间呢?答:因为echo 不是函数,是基本语法。大家眼前可以不用理解函数和基本语法的区别。了解和不了解在实际开发中没有影响。知道有这个知识点就行。
数据类型的自动转换和强制转换,背吧背吧
预备
PHP在PHP 5.x阶段都是完全的弱类型的编程语言。所谓弱类型,就是在声明变量的时候,不需要指定变量的类型。我要声明一个整型的变量,我不用在前面非得写上类型,再写变量。
而PHP 7 的性能有很大的提高。实际测试的结果,PHP 7的性能与PHP5.6相比,提升了性能接近200%。在PHP 7 中有些地方,我们可以强制指定类型,也可以不用强制指定类型来声明变量。
我们接来下来讲强制类型转换和自动类型转换两个部份。
【默写级别】布尔值的自动类型转换、强制类型转换的英文单词
布尔值的自动类型转换
自动类型转换,就是数据类型在某些情况下,自动会变为其他的类型参与运算。自动类型转换的发生时机是:运算和判断的时候某些值会自动进行转换。
自动类型转换实验室
下面的情况是布尔值判断时的自动类型转换:
整型的0为假,其他整型值全为真
浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。
空字符串为假,只要里面有一个空格都算真。
字符串的0,也将其看作是假。其他的都为真
空数组也将其视为假,只要里面有一个值,就为真。
空也为假
未声明成功的资源也为假
我们针对以上针理的规则一项一项来做实验看看结果。
1. 整型的0为假,其他整型值全为真
```php
<?php
//整型的0,换成整型的其他值试试
bool=0;if(" role="presentation" style="position: relative;">bool=0;if(bool=0;if(bool){
echo '美女美女我爱你';
}else{
echo '凤姐凤姐爱死我,执行假区间咯';
}
?>
**2\. 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。**```php<?php//浮点类型的的0,换成其他值试试$bool = 0.0;if($bool){echo '美女美女我爱你';}else{echo '凤姐凤姐爱死我,执行假区间咯';}?>
3. 空字符串为假,只要里面有一个空格都算真
```php
<?php
//空字符串,中间没有空格哟。实验完加个空格试试
str=″;if(" role="presentation" style="position: relative;">str=′′;if(str=″;if(str){
echo '美女美女我爱你';
}else{
echo '凤姐凤姐爱死我,执行假区间咯';
}
?>
**4\. 字符串的0,也将其看作是假。其他的都为真**```<?php//0这个字符串哟,试试其他值看看$str = '0';if($str){echo '美女美女我爱你';}else{echo '凤姐凤姐爱死我,执行假区间咯';}?>
5. 空数组也将其视为假,只要里面有一个值,就为真。
```php
<?php
//这个数组当中啥也没放
arr=array();if(" role="presentation" style="position: relative;">arr=array();if(arr=array();if(arr){
echo '美女美女我爱你';
}else{
echo '凤姐凤姐爱死我,执行假区间咯';
}
?>
**6\. 空也为假**```php<?php//声明了一个空的变量$bool$bool = null;if($bool){echo '美女美女我爱你';}else{echo '凤姐凤姐爱死我,执行假区间咯';}?>
7. 未声成功的资源也为假
```php
<?php
//下面这段代码会显示警告,可忽略。暂时只需要对着实验知道效果即可:未声成功的资源也为假
//下面这一块了解意思就行:打开adasfasfasfdsa.txt这个不存在的文件
res=fopen(′adasfasfasfdsa.txt′,′r′);if(" role="presentation" style="position: relative;">res=fopen(′adasfasfasfdsa.txt′,′r′);if(res=fopen(′adasfasfasfdsa.txt′,′r′);if(res){
echo '美女美女我爱你';
}else{
echo '凤姐凤姐爱死我,执行假区间咯';
}
?>
## 其他类型的自动类型转换自动类型转换在运算时也可以发生。跟所有我们总结的规律和观点一样:先总结、后实验。只有标量在运算时会产生以下的自动类型转换:动手,你敢动手吗?动手啊!```php<?php//布尔变整型参与运算$fo = true;$result = $fo + 10;//$result 结果为整型的11,因为$fo布尔的true变为了1//如果$fo的值为0var_dump($result);//字符串类型$str = '419不要爱';$result = $str + 1;//结果为420。因为将$str变为了整型的419参与运算//将419放在字符串中间和结尾试试var_dump($result);?>
神奇不?呵呵,动手啊,打啊!
总结:
布尔值的true参与运算是会变成整型或者浮点的1
布尔值的false参与运算是会变成整型或者浮点的0
字符串开始处是整型或浮点类型的字符,会转成对应的类型参与运算
强制类型转换
强制类型转换有三种方式:
用后面的三个函数可以完成类型转换,intval()、floatval()、strval()
变量前加上()里面写上类型,将它转换后赋值给其他变量
settype(变量,类型) 直接改变量本身
1. intval()、floatval()、strval()转换
```php
<?php
float=1.23;" role="presentation" style="position: relative;">float=1.23;float=1.23;result = intval(float);//看看结果是不是变了?vardump(" role="presentation" style="position: relative;">float);//看看结果是不是变了?vardump(float);//看看结果是不是变了?vardump(result);
//鸭脖子为整型的5
$yabozi = 5;
$re = floatval($yabozi);
var_dump($re);
//定义整型的变量
$yabozi = 23;
$bian = strval($yabozi);
//强制变成字符串试试
var_dump($bian);
?>
php
**2\. 变量前加上()里面写上类型,将它转换后赋值给其他变量**
<?php
//定义一个变量,我们来变化一下试试
transfer=12.8;//把浮点变为整型" role="presentation" style="position: relative;">transfer=12.8;//把浮点变为整型transfer=12.8;//把浮点变为整型jieguo = (int)transfer;vardump(" role="presentation" style="position: relative;">transfer;vardump(transfer;vardump(jieguo);
//把浮点变为布尔
jieguo=(bool)" role="presentation" style="position: relative;">jieguo=(bool)jieguo=(bool)transfer;
var_dump($jieguo);
//把布尔变整型
bool=true;" role="presentation" style="position: relative;">bool=true;bool=true;jieguo = (int)$bool;
//把浮点变数组
$fo = 250;
$jieguo = (array)$fo;
var_dump($jieguo);
//其他的操作方式,按照文字总结的规律你来试试
?>
**3\. settype(变量,类型) 直接改变量本身**```php<?php//定义浮点变为整型$fo = 250.18;//settype第二个参数是int,你实验的时候要记得第二个参数要为字符串类型settype($fo,'int');//输出看看结果var_dump($fo);?>
【来试试】以下是强制类型转换时的特点,每一项你做实验看看对不对:
- 空转为整型会为整型的0
- 空转为浮点会为浮点的0
- 空转为字符串会为空字符串‘’
- 浮点的123.0转为字符串会为字符串123
- 浮点的123.2转为字符串会为字符串的123.2
- 浮点即使小数点再大,它都会被干掉,会舍掉小数点后面的值
- 如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。
- settype(变量,'null'); 等价于 unset()一个变量
- 目标变量=(类型)" role="presentation" style="position: relative;">目标变量=(类型)目标变量=(类型)操作变量 只会改变目标变量的类型,不会改变原变量的类型,Settype是改变原值
```php
<?php
//小可爱,记得自己做实验,验证上面的9点哟
$t=12.9;
settype($t,'int');
var_dump($t);
?>
```
前端PHP入门-004-数据类型,特别需要注意字符串的更多相关文章
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- Web前端小白入门指迷
前注:这篇文章首发于我自己创办的服务于校园的技术分享 [西邮 Upper -- 004]Web前端小白入门指迷,写得很用心也就发在这里. 大前端之旅 大前端有很多种,Shell 前端,客户端前端,Ap ...
- openresty 前端开发入门五之Mysql篇
openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...
- 使用 gulp 搭建前端环境入门篇(转载)
本文转载自: 使用 gulp 搭建前端环境入门篇
- Web前端JQuery入门实战案例
前端jquery入门到实战 为什么要学习Jquery?因为生活. 案例: <!DOCTYPE html> <html lang="zh-CN"> <h ...
- Python 入门之数据类型之间的相互转换 以及 在编程中会遇到的数据类型的坑
Python 入门之数据类型之间的相互转换 以及 在编程中会遇到的数据类型的坑 1.数据类型总结: 可变,不可变,有序,无序 (1)可变的数据类型:list dict set (2)不可变的数据类型: ...
- web前端开发入门全套学习方法路径,兼职在家做网站也能月入上万!
前端学习路径 1.WEB前端快速入门 在本阶段,我们需要掌握 HTML 与 CSS 基础,当然,也包含 H5 和 C3 的新特性.这个部分内容非常简单,而且非常容易掌握.相信你也更愿意学习这个部分,毕 ...
- 鸿蒙OS前端开发入门指南:网络图片_Image渲染网络图片
目录: 1.开启明文传输 2.权限申请 3.引入http插件 4.案例展示 5.<鸿蒙OS前端开发入门指南>文章合集 开启明文传输 在config.json配置文件添加如下配置(如果不开启 ...
- java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;
<java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...
- MySQL中的数据类型 [数值型、字符串型、时间日期型]
MySQL中的数据类型 [数值型.字符串型.时间日期型] MySQL中各数据类型 1. 数值类型(整型) 类型 数据大小 类型 (无符号:unsigned) 数据大小 存储空间 tinyint -12 ...
随机推荐
- python3【基础】-文件操作
1. python对文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件操作 关闭文件 现有如下文件: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧明. ...
- mysql常用语句入门整理
这篇属于小白入门级别,如果你已经高手可以直接跳过 1.运行数据库mysqld.exe,客户端直接mysql -uroot(root是默认用户名) -p 2 showdatabases,showtabl ...
- c# 窗体与窗体外的文件互动(拖拽)
大部分控件都有此事件drag相关. 以picturebox为例: pictureBox1.AllowDrop = true;//此属性需要全打出来,不会自动识别添加 private void pict ...
- 按Right-BICEP要求的测试用例
测试方法:Right-BICEP 测试计划 1.Right-结果是否正确? 2.B-是否所有的边界条件都是正确的? 3.P-是否满足性能要求? 4.结果是否有符合要求的20道题目? 5.所得到的最大数 ...
- CS小分队第一阶段冲刺站立会议(5月12日)
昨日成果:2048整体界面效果经组员韩雪冬美化之后档次提升了好几个,我为其添加了保存并显示最高分数的功能. 遇到困难:当我想把access数据库由accdb改成mdb时,发生未知错误 ,导致数据库无法 ...
- 又要开始新的征程了hhh(这次内容比较感兴趣)
因为做英雄部分,既是我比较感兴趣,又很符合这次c++学习的目的,所以我很开心. 其实从小玩的RPG,即时战略和回合制游戏不算少,对于属性方法其实都算不上陌生.但是还是在网上找了一些学习资源. http ...
- Beta版冲刺前准备
[团队概要] 团队项目名:小葵日记 团队名:日不落战队 队员及角色: 队员 角色 备注 安琪 前端工程师 队长 佳莹 前端工程师 智慧 后端工程师 章鹏 后端工程师 语恳 UI设计师 炜坤 前端工程师 ...
- UVALive - 6916 Punching Robot Lucas+dp
题目链接: http://acm.hust.edu.cn/vjudge/problem/96344 Punching Robot Time Limit: 1000MS64bit IO Format: ...
- 《我是一只IT小小鸟》 读书笔记
<我是一只IT小小鸟>讲述了IT人员的成长经历,邀请了许多名IT行业的职员,学生,研究生写了自己的亲身经历和人生感悟,以书中可以看到我国IT行业的快速进步,以及看到IT员在这条道路上的坎坷 ...
- py下载网络图片
很简单,做下记录 import urllib import os url = "图片路径" dir = "d:\\pyimgtest\\G0000001\\" ...