重点,哪些情况我们会将其它类型的值视为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. 事件——《JS高级程序设计》

    一. 事件流 1. 事件流描述的是从页面中接收事件的顺序 2. 事件冒泡(event bubble):事件从开始时由最具体的元素(就是嵌套最深的那个节点)开始,逐级向上传播到较为不具体的节点(就是Do ...

  2. 为什么Nagios会那么吵?你又能做些什么呢?(1)

    如果你受困于 Nagios 的告警洪潮中不能自拔,那么这两篇连载博客就是为你而生的.让我们来详细的阐述下这个问题! 运维人员都有着独立的监控工具,因此会经常受到 Nagios 告警吵闹的影响.很多运维 ...

  3. android 监听去电实现ip拨号 广播接收者

    利用广播实现ip拨号 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  4. 去除Coding4Fun中MessagePrompt的边框(Border)

    在App.xaml文件中添加 xmlns:c4f="clr-namespace:Coding4Fun.Toolkit.Controls;assembly=Coding4Fun.Toolkit ...

  5. HTTP Header 入门详解

    什么是HTTP Headers HTTP是"Hypertext Transfer Protocol"的所写,整个www都在使用这种协定,几乎你在流览器里看到的大部分内容都是通过ht ...

  6. Android Service with Delphi 10 Seattle

    http://delphi.org/2015/09/minimalistic-android-service-with-delphi-10-seattle/ http://delphi.org/201 ...

  7. Android 设置thumb图片大小

    xml: android:thumb="@drawable/seekbar_thumb" seekbar_thumb.xml: <?xml version="1.0 ...

  8. 【PythonChallenge】Level 5

    题目主要找发声类似于Peak Hell的Python模块,查了一下手册pickle已经是最像的了.看了一下源代码,发现panner.p.如同发现了新大陆,拷贝内容.使用pickle解答.答案为chan ...

  9. 【HDOJ】1003 Max Sum

    最开始使用递归DP解,stack overflow.化简了一些,复杂度为O(n)就过了. #include <stdio.h> int main() { int case_n, n; in ...

  10. centos中忘记root密码问题

    centos中root密码问题   几次在虚拟机中安装cenos,都没有提示输入root密码,具体操作如下: 1.在启动的时候,进入启动界面后,按除了Enter键之外的任意键,即可进入该界面.然后 按 ...