重点,哪些情况我们会将其它类型的值视为bool值的假:】
1. 整型的0会视为bool值的假来执行,任何非0的整型都视为真
2. 浮点的0.0不论后面有多少个0都视为假0.000000000,后面只要有一个非0值就为真
3. 字浮串的’0’,视为假,其他值全视为真来处理
4. 空字符串视为bool值的假‘’,只要中间有个空格都算真!
5. 空视为假处理(注意)
6. 数组当中一个东西都没有,就是空数组。就视为假来处理。当中只要有一个值,这个值即使为假或者空都视为真
7. 未声明成功的资源

#bool类型
$bool=true; /* 不要加引号*/
$bool=false; 1.整形 $bool=0; 假 非空为真
2.布尔型 $bool=null; 假 为空
3.浮点型 $bool=‘0’ 假
$bool=‘0.0’ 真 /*这个特殊*/
4.字符型 $bool=''; 假
$bool=""; 假
$bool=' '; 真 /*注意空格,这个特殊*/
$bool=" "; 真 /*注意空格,这个特殊*/
5.空数组 $bool=array(); 假
对象 $bool=object(); 假
资源 $bool=resource(); 假

判断空的函数:(重点)
Empty(只传一个变量),当传进去的变量为0,为false,为空,(只要为假的情况就返回真)(是否为空)

Isset(变量1,…,变量n) 可以传入一个或多个变量,只要当中有一个变为null,就返回false(是否被设置)

变量的引用:

变量的引用问题:
<?php
$a=60; $b=&$a;
//这个真正的意思是:把$a和$b同时指向同一个地方,以后无论换a的值还是b的值,(说白了,就是给$b起一个小名,都是一个值)
//它的地址还是指向a的;
$a=200;
$b=300;
echo '$a='.$a; //结果为$a=200
echo '<br/>';
echo '$b='.$b; //结果为$b=200
?>

常量的声明:

1.在运行过程当中值不发发生变化。
2.常量在运行过程当中值不可以被修改和删除
3.常量是全局的
4.常量用的值,我们通常只用标量
5.常量可以小写,但是为了更好的区分这是常量,通常大写。

注意:
调用常量,禁止在外加引号,双引单引都不行。这样的话是读取字符串

常量定义:

define('常量名','常量值');
define('ABC','发大财'); //这里ABC不加$,后面常量可以是整形,或者浮点型。

规则如下:
1.常量名:字母(一般大写),下划线,数字(不能开头)
2.常量值:只能用标量.
3.常量在运行过程当中不可以被重新赋值.
4.unset(ABC);不能删除 //我们数据库的地址,不用改变,我们用它的特性来定一个常量
5.常量是全局的
6.常量名通常大写

PHP超全局数组及外部变量

超全局数组:

$_POST      post传值
$_GET get传值,可以在浏览器的地址栏来直接传值

注意:

post发送的内容只能用post来接收,而get发送的内容只能用get接收
$_REQUEST   post与get模式都可以接收到

$_REQUEST   post与get模式都可以接收到

数据类型:
有时候我们只需要获取数据的类型,这时我们就需要判断类型的函数

is_float()类型:判断是不是浮点型

$b=3.2;
if(is_float($b)){
echo '真';
}else{
echo '假'
}
//结果为:真

is_int()类型:判断是不是整型

  $a=99; 
if(is_int($a)){  
echo '真'; 
}else{  
echo '假'; 

//结果是:真

is_bool()类型: 判断是不是布尔型

$a=false;
if(is_bool($a)){
 echo '真';
}else{ 
echo '假';
}
//结果是:真

is_string()类型:判断是不是字符串

$a='abc';
 if(is_string($a)){ 
echo '真';
}else{
  echo '假';
}
//结果为真

is_array()类型:判断是不是数组

<?php 
$a=array(1,2,3,4,5,6,);
if(is_array($a)){ 
echo '真';
}else{  
echo '假';
}
//结果为真

is_null()类型:判断是不是空

$a=null;
if(is_null($a)){ 
echo '真'; 
}else{ 
echo '假';
}
//结果为:真

is_object()类型:判断是不是对象

···
is_numeric()类型:判断是不是数字

···
is_callable()类型:判断是不是函数

···

自动类型转换:
发生情况:

第一.在运算的时候
第二. 在判断的时候

当bool值与整型相运算的时候:
1.将bool值的真变为整型的1来执行
2.将bool值的假变为整型的0来执行
 
当bool值与浮点进行运算的时候:
1.bool值的真会变为浮点的1.0来参与运算
2.bool值的false会变为浮点的0.0

当字符串与一个整型或浮点相加的时候:
1.会将后面的字符串全部干掉
2.只会将前面的数值和对应的整型或浮点相运算
3.如果字符串参与运算的时候必须要数值放在最前面。如果放到中间或者后面,会视为0来运算

PHP基本语法(二)的更多相关文章

  1. PHP语法(二):数据类型、运算符和函数

    相关链接: PHP语法(一):基础和变量 PHP语法(二):数据类型.运算符和函数 PHP语法(三):控制结构(For循环/If/Switch/While) 这次整理了PHP的数据类型.运算符和函数. ...

  2. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  3. web前端学习python之第一章_基础语法(二)

    web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  4. MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询

    MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...

  5. CodeSmith 基本语法(二)

    CodeSmith之四 - 典型实例(四) CodeSmith API文档 (三) CodeSmith 基本语法(二) CodeSmith 图形界面基本操作(一) CodeSmith的C#语法与Asp ...

  6. Pocket英语语法---二、指示代词和不定代词是什么

    Pocket英语语法---二.指示代词和不定代词是什么 一.总结 一句话总结: 指示代词:标识人或事物的代词,用来代替前面已提到过的名词 this.these.that.those不定代词:指代不确定 ...

  7. Vue模板语法(二)

    Vue模板语法(二) 样式绑定  class绑定 使用方式:v-bind:class="expression" expression的类型:字符串.数组.对象 1.2 style绑 ...

  8. Shell系列(36)- for循环语法二简介及批量添加删除用户

    for循环语法二 for ((初始值;循环控制条件;变量变化)) do 程序 done 例子 例子-1 求和工具 需求:根据用户输入的数字,求1~输入所有数字的和 脚本: #!/bin/bash re ...

  9. Python基本语法[二],python入门到精通[四]

    在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...

  10. ios -- 教你如何轻松学习Swift语法(二)

    前言:swift语法基础篇(二)来了,想学习swift的朋友可以拿去参考哦,有兴趣可以相互探讨,共同学习哦.      一.可选类型(重点内容)   1.什么是可选类型?        1.1在OC开 ...

随机推荐

  1. map(function, sequence)

    map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回: >>> lt = range( ...

  2. win7 不能启动 memcached 总是反回failde to start service

    原地址: http://zhidao.baidu.com/link?url=Ul9hJxFckU9IHWRy0pcxT11f2c0-p2uXkXhLria73mLNxYuV7IiaKYRtIl6vED ...

  3. 存储过程系列之存储过程具体操作过程及sql数据库调用

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. 存 ...

  4. UltraEdit (Ctrl + F) 查找、(Ctrl + R)替换功能失效

    环境: Windows 7 Service Pack 1 X64 工具: UltraEdit Version 21 症状: UltraEdit (Ctrl + F) 查找.(Ctrl + R)替换功能 ...

  5. Android开发UI之常用控件的使用

    1.日期选择控件 DatePickerDialog 代码: btnChooseDate=(Button) findViewById(R.id.btnChooseDate); btnChooseDate ...

  6. hdu 2089 不要62(初学数位DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意: 给定 m,.n; 求车牌号 m~n之间 有多少数字 不含 4或62     ,8652是可以的 . ...

  7. Azure 媒体服务支持 DASH 实时传送流

    Kilroy Hughes Azure媒体服务数字媒体架构师 本文重点介绍 Azure 媒体服务支持的 DASH 实时传送流功能,同时阐述如何利用这些功能将实时和点播自适应流传送至 Web 浏览器 ...

  8. 对 Azure Backup 的常见配置问题进行故障排除

    Giridhar Mosay云 + Enterprise 项目经理 这篇博客文章有助于解决 Microsoft云备份解决方案(即 Azure Backup)的常见配置问题.客户通常会在安装或注册 ...

  9. 分享你最喜欢的技巧和提示(Xcode,Objective-C,Swift,C...等等)

    http://www.cocoachina.com/ios/20151231/14846.html 笔者分享总结如下(本篇会不定期进行更新) : Objective-C 1.让Xcode的控制台支持L ...

  10. [转]优化数据库大幅度提高Oracle的性能

    几个简单的步骤大幅提高Oracle性能--我优化数据库的三板斧. 数据库优化的讨论可以说是一个永恒的主题.资深的Oracle优化人员通常会要求提出性能问题的人对数据库做一个statspack,贴出数据 ...