PHP学习笔记1-数据类型

一、变量命名规则
1.必须要以开始$
2.变量的首字母不能以数字开始
3.变量的名字区分大小写
4.变量不要用特殊符号、中文,_不算特殊符号
5.变量命名要有意义(别写xxx,aaa,ccc这种 变量名)
二、字符串声明的三种方式
1.用单引号声明
2.用双引号声明
3.用字界符声明(需要输入非常大段的字符串时使用)
1).在变量后面的等号写三个小于号(<<<)。
2).然后在<<<后面写上字符(建议英文大写字符)。如下例中的:ABC
3).然后换行写上任意想写的字符
4).写完后,顶行。在行最开始处,再写上<<<后面的字符和分号。如下例中的:ABC;

<?php
$zijiefu = <<<ABC
   如果
       非要在这个滚犊子
   前
       面<br />
      加上一段
   <i>距离的话</i>
   我想说:<h1>思想有多远,你就跟我滚多远</h1>
ABC;
?>

三、字符串声明时单引号和双引号的区别(面试重点问题)
1.双引号解析变量,但是单引号不解析变量。
2.在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开,特殊字符会被正常输出。
3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。
4.双引号解析转义字符,单引号不解析转义字符。但,单引号能解析’ 和
5.单引号效率高于双引号,尽可能使用单引号
6.双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。
7.神奇的字符串拼接胶水——(.)点,用来拼接字符串。
8.我们将定界符声明字符串视为双引号一样的功能来看待。
四、var_dump()函数
var_dump() 是一个函数。向括号()中间插入变量。这个函数,会打印出来数据类型,还会对应显示变量的长度和值
五、if…else…语法(没有{}时只能执行一句话)

<?php
if(布尔条件)
   布尔值为真(true)时执行,只能写一行代码;
?>
<?php
if(布尔条件)
   布尔值为真(true)时执行,只能写一行代码;
else
   布尔值为假(false)时执行,只能写一行代码;
?>
<?php
if(布尔条件){
    布尔值为真(true)时执行,可写多行代码;
}
?>
<?php
if(布尔条件){
    布尔值为真(true)时执行,可写多行代码;
}else{
   布尔值为假(false)时执行,可写多行代码;
}
?>

六、数据类型之 NULL类型
1.null表示没有,不是false,不是0,也不是空格
2.主要有以下三空情况会产生空(null)类型:
1).通过变量赋值明确指定为变量的值为NULL
2).一个变量没有给任何值

<?php
//变量$meiyou没有值,输出null
var_dump($meiyou);
?>

3).使用函数unset()将变量销毁掉

<?php
//声明变量
$aaa = 1234;
//unset()销毁变量
unset($aaa);
var_dump($aaa);
?>

3.与null相关的函数:empty(),issset(),unset()
empty()函数:向括号中间传入一个变量。这个变量的值如果为false或者为null或者为0或者为’'的话,返回true。

<?php
$em = 1234;//变量为false,null,0,''返回true
if (!empty($em))
    echo "perfect1\n";
else
    echo "bad";
?>

unset()函数:销毁变量,这个变量不存在
isset()函数:向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有有一个变量为null(false,0,’'排除),则返回false。否则,则返回true。
七、数据类型
变量:整型(int)、 浮点(float)、布尔(bool)、字符串(string);混合类型: 数组(array)、对象(object);特殊类型:空(null)、 资源(resouce)、回调(callback)
八、查看数据类型的函数
1.gettype(传入一个变量) 能够获得变量的类型
2.var_dump(传入一个变量) 输出变类型和值
3.is_* 系列函数。
is_types这一系列的函数,来进行判断某个变量是不是某个类型。如果是这个类型返回真,不是这个类型返回假。
is_int 是否为整型
is_bool 是否为布尔
is_float 是否是浮点
is_string 是否是字符串
is_array 是否是数组
is_object 是否是对象
is_null 是否为空
is_resource 是否为资源
is_scalar 是否为标量(标量变量是指那些包含了 integer、float、string 或 boolean的变量,而 array、object 和 resource 则不是标量。 )
is_numeric 是否为数值类型
is_callable 是否为函数

<?php
//声明布尔类型变量
$fo = false;
if (is_bool($fo))
	echo $fo
?>

九、数据类型之自动转换和强制转换
1.布尔值的自动类型转换
1)整型的0为假,其他整型值全为真
2)浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。
3)空字符串为假,只要里面有一个空格都算真。
4)字符串的0,也将其看作是假。其他的都为真
5)空数组也将其视为假,只要里面有一个值,就为真。
6)空(null)也为假
7)未声明成功的资源也为假
2.其他类型的自动类型转换(运算时)
1)只有标量在运算时会产生以下的自动类型转换:
在这里插入图片描述
布尔值的true参与运算时会变成整型或者浮点的1,布尔值的false参与运算是会变成整型或者浮点的0,字符串开始处是整型或浮点类型的字符,会转成对应的类型参与运算。

$fo = true;
$result1 = $fo + 1;
$result2 = $fo + 1.43;
//bool变量自动转换为整形变量
var_dump($result1);
//bool变量自动转换为浮点型变量
var_dump($result2);

$str1 = "10";
$str2 = "10是一个整数";
//$str1变量自动转换为整型
$result3 = $str1 + 1;
//$str2开始处转换为整型
$result4 = $str2 + 2;
var_dump($result3);
var_dump($result4);

3.强制类型转换
强制类型转换有三种方式:
1.用后面的三个函数可以完成类型转换,intval()、floatval()、strval()
2.变量前加上()里面写上类型,将它转换后赋值给其他变量,不会改变原变量数据类型
3.settype(变量,类型) 直接改变量本身(settype(变量,‘null’); 等价于 unset()一个变量
十、常量
1.常量定义
1)define(常量名,常量值),不可在类中使用,为全局变量,可在调用函数的任何地方(函数,循环及if条件)使用
注:
1.常量值只能为标量。
2.常量名可以小写,但是通常大写
3.常量名可以不加引号,但是通常加上引号(单引号)
4.在字符串中调用常量的时候,必须在引号外面
5.常量名建议只用字母和下划线

<?php
//常量名只含字母和下划线,一般大写,带引号
define('MY_NAME','hahahaha');
echo MY_NAME."\n";
//在字符串中调用常量时,常量名要在字符串引号外面
echo "我的名字:".MY_NAME;
?>

2)const 常量名=???,可在类中使用,不能在函数,循环及if条件中使用
十一、可变变量
在变量前面再加一个变量符

<?php
   //定义了一个变量叫作 $shu 将$shu这个变量的值设为字符串的biao
   $shu = 'biao';
   //定义了一个变量$biao。将他的值设置为鼠标
   $biao = '鼠标';

   //$$shu 就是可变变量:在已声明的变量$shu前又加上了一个变量符
   //输出$biao
   echo $$shu; 
?>

十二、变量的引用
$bar = & $fo,两个变量指向相同的存储空间,其中一个变另一个也会跟着变

<?php

$fo = 5;
//$fo的值为5,将5赋值
$bar = $fo;
//$bar的值原来为5,现在将值改为6
$bar = 6;
//$bar的结果为6
echo $bar.'<br />';
//$fo的结果为5
echo $fo.'<br />';

?>
<?php

$fo = 5;
//注意,加上了一个&符哟
$bar = &$fo;

$bar = 6;
//$bar的结果为6
echo $bar.'<br />';
//$fo的结果为6
echo $fo.'<br />';

?>

十三、运算
1.算数运算
在这里插入图片描述
2.自加自减运算
在这里插入图片描述

<?php
$x = 5;
$y = 6;
echo $x++ + $x--; //先运算后自加自减,10
echo $x++ + $y--; //11
?>

3.比较运算
在这里插入图片描述
4.逻辑运算
在这里插入图片描述
5.逻辑与&&和逻辑或||的短路
逻辑与:if( $x && $y) 如果 $x已经为false了,后面的 $y 就没有执行必要了。

<?php
$x = false;
$y = 2;
if($x && $y++)
	echo '假';
else
	echo'真';
echo $y;//输出y=2,后面的$y++不用执行
?>

逻辑或:if( $x || $y) 如果 $x已经为true了,后面的 $y 就没有执行。
6.三元运算符及其他运算符
在这里插入图片描述
三元运算符
$x? 真代码段(只能写一句代码):假代码段(只能写一句代码);

<?php
$x = true;
$x ? $y = 5 : $y = 6;
echo $y; //5
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值