<?php
/**
* 类型转换
* 自动转换 数据在运算过程中自动转换
* 空字符串 false
* "0" false
* null false
* 0 false
* 空数组 false
* 1、 转为布尔型(即返回值为0)
*    空字符串''或""
   * 数字0或0.0 字符'0'或"0"
   * 空值NULL 没有成员的数组 false
   ** 其余都转换成布尔型true,包含资源
*2、 转为整数或浮点型    
  *  如果字符串为合法的数字字符串,则直接转换成整型/浮点型
  *  如果字符串中包含.或e或E,则转换成浮点型;否则转换成整型
  *  非法的数字字符串转换成数值0
 
*3、 转为字符串型    
 *   数值将直接转换成数字字符串
 *   布尔型的true转换成字符"1";false转换空字符串
*/
$name="0";// 0, 0.0 ,'' ,"" ,"0" ,'0' ,null, [] 为false
if($name){
echo "yes";
}else {
echo "no";
}
//加法运算 字符串里的第一个数字开始算只要遇到不是数字的直接忽略
$name1="1ss22";
$age=12;
$res=$age+$name1;
echo $res; //. 想当于js中的 + 作连接符
$age1="sdfff";
$name2=122;
$res1=$name2.$age1;
echo $res1; /**
* 强制数据转换
*PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:
*(int)、(integer):转换成整形
*(float)、(double):转换成浮点型
*(string):转换成字符串
*(bool)、(boolean):转换成布尔类型
*(array):转换成数组
* object):转换成对象
* PHP数据类型有三种转换方式:
* 在要转换的变量之前加上用括号括起来的目标类型
* 使用3个具体类型的转换函数,
* intval()、
* floatval()、
* strval()
* 使用通用类型转换函数settype(mixed var,string type)
* 会改变原先的数据类型
*/
$sum="12";
$num=(int)$sum;
$sum1="12";
$num2=(int)$sum1;
$sum2="12";
$num2=(int)$sum2;
var_dump(num);
var_dump(num1);
var_dump(num2);
//PHP数据类型有三种转换方式:
//intval($sum); strvak($sum); floatval($sum);
$we=intval($sum);
var_dump($we);
//分别用var_dump();打印
//通用函数 settype($sum,"string");
$str=settype($sum,"string");
var_dump($str); /**
* 变量默认值
* 1.不确定类型时的默认值(null):
* 2.数值类型时的默认值(0):
* 3.字符串的默认值是(” ”);
* 4.布尔类型的默认值是(假);
* 5.数组的默认值是(0
*/
/**
* 变量的作用域
* 全局变量 函数之外的变量
* 局部变量 函数内定义的变量
* 超全局变量 系统定义的变量
* 静态变量 函数内部定义用于函数数据共享
*/ /**
* 变量的常用函数
* is_array() 判断是否为数组
* is_null() 判断是否为null
* unset() //销毁对象变量等
* isset() 检查变量是否存在; null和变量声明未赋值 返回false,其他都为真
* empty();判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,
*
*/ is_array() 判断是否为数组
$arr = 12.2343;
if (is_array($arr)) {
echo "yes";
} else {
echo "no";
} //is_null() 判断是否为null
$name = null;
if (is_null($name)) {
echo "yes";
} else {
echo "no";
} //unset() //销毁对象变量等
$name = array(1, 2, 3);
class Person
{
}
$obj = new Person; unset($obj);
echo "<pre>";
var_dump($obj); //isset() 检查变量是否存在; null和变量声明未赋值 返回false,其他都为真
if (isset($name)) {
echo "yes";
} else {
echo "no";
} //empty();判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,
if (empty($name)) {
echo "yes";
} else {
echo "no";
} // 什么是常量:
// 常量可以理解为值不变的量;或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。PHP中的常量分为自定义常量和系统常量。
// 自定义常量:是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define() 定义。
// 系统常量:是PHP已经定义好的常量,我们可以直接拿来使用。 // 常量的作用:
// 常量主要功效是可以避免重复定义,篡改变量值。在我们进行团队开发时,或者代码量很大的时候,对于一些第一次定义后不改变的量,如果我们使用变量,在不知情的情况下,使用同一变量名时,变量值就会被替换掉,从而会引发服务器执行错误的任务。
// 此外,使用常量还能提高代码的可维护性。如果由于某些原因,常量的值需要变更时候,我们只需要修改一个地方。 // 认识系统常量:
// __FILE__ 当前PHP文件的相对路径 __LINE__ 当前PHP文件中所在的行号
// __FUNCTION__ 当前函数名,只对函数内调用起作用 __class__ 当前类名,只对类起作用
// PHP_VERSION 当前使用的PHP版本号 PHP_OS 当前PHP环境的运行操作系统
// true 与true一样 false 与false一样
// M_PI 圆周率常量值 M_E 科学常数e
// M_LOG2E 代表log2 E_ERROR 最近的错误之处
// E_WARNING 最近的警告之处 E_PARSE 剖析语法有潜在问题之处
// __METHOD__ 表示类方法名,比如B::test // define和const的区别:
// 1 、const是一个语言结构;而define是一个函数,可以通过第三个参数来指定是否区分大小写。true表示大小写不敏感,默认为false
// 例子:define('PI', 3.14, true);
// 2 、const简单易读,编译时要比define快很多。
// 3 、const可在类中使用,用于类成员常量定义,定义后不可修改;define不能在类中使用,可用于全局变量
// 4 、const是在编译时定义,因此必须处于最顶端的作用区域,不能在函数,循环及if条件中定义;而define是函数,也就是能调用函数的地方都可以定义
// 5 、const只能用普通的常量名,define常量名中可以有表达式
// 6 、const定义的常量只能是静态常量,define可以是任意表达式
// 判断常量是否被定义:
// defined() 函数可以帮助我们判断一个常量是否已经定义,其语法格式为:
// bool defined(变量名类型 变量名) 若存在则返回布尔类型true,否则返回布尔类型false。 // 常量与变量的区别:
// 1.   $ :常量前面没有( $) // 2.  define: 常量只能用define() 函数定义,而不能通过赋值语句 // 3.  作用域:  常量可以不用理会变量的作用域而在任何地方定义和访问 // 4.  重定义: 常量一旦定义就不能被重新定义或者取消定义 // 5.  标量类型:常量的值只能是标量 // 6.  命名空间:常量和(全局)变量在不同的名字空间中 define("NAME", "jack");
echo NAME; $res = constant("NAME");//有返回值
echo $res;
include("demo.php"); ?>

php第二节(变量、常量)的更多相关文章

  1. php大力力 [010节]PHP常量

    2015-08-23 php大力力010. PHP常量 php大力力 [010节]PHP常量 设置 PHP 常量 如需设置常量,请使用 define() 函数 - 它使用三个参数: 首个参数定义常量的 ...

  2. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  3. C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换

    //Console.WriteLine("Hello World"); //打印显示 //Console.ReadLine(); //接收输入的值 //Console.ReadKe ...

  4. C++ Primer 笔记(2)第二章 变量与基本类型

    第二章 变量与基本类型 1.基本内置类型包括算术类型和空类型,算术类型分为两类:整型(包括字符和布尔类型)和浮点型: 2.布尔类型(bool)的取值是真(true)或者假(false): 3.字面值常 ...

  5. seajs第二节,seajs各模块依赖关系

    index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  6. 源码讲解 node+mongodb 建站攻略(一期)第二节

    源码讲解 node+mongodb 建站攻略(一期)第二节 上一节,我们完成了模拟数据,这次我们来玩儿真正的数据库,mongodb. 代码http://www.imlwj.com/download/n ...

  7. JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

    JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...

  8. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  9. 第二节:Web前端-ASP.NET之C#基础

    第二节:Web前端-ASP.NET之C#基础 学习ASP.NET,要掌握学习语言,控件等技能, <div style="text-align: center; line-height: ...

  10. C#基础课程之二变量常量及流程控制

    课堂练习:.一个四位整数 输出它的千位,百位,十位,个位 数字. ; ; % ; % ; ; Console.WriteLine("千位数" + b+" 百位数" ...

随机推荐

  1. Java - > for, while 及 do.while循环

    为什么要用到循环结构: 按顺序结构执行程序语句(方法或者代码块)只能被执行一次.如果要多次执行,就需要使用到循环结构(循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构) 布尔表达式:是一段 ...

  2. Python进阶篇四:Python文件和流

    摘要: Python对于文件和流的操作与其他编程语言基本差不多,甚至语句上比其他语言更为简洁.文件和流函数针对的对象除了这两者之外还有,类文件(file-like),即python中只支持读却不支持写 ...

  3. Linux漏洞分析入门笔记-CVE-2015-0235

    Ubuntu 12.04 32位 ida 7.0 0x00:漏洞描述 1.glibc的__nss_hostname_digits_dots存在缓冲区溢出漏洞,导致使用gethostbyname系列函数 ...

  4. 缩短移动开发周期的ApiCloud

    ApiCloud百度百科介绍: ApiCloud 官网 官方论坛 APICloud经典O2O案例APP视频教程

  5. 面向对象设计之------Is-A(继承关系)、Has-A(合成关系,组合关系)和Use-A(依赖关系)(转)

    原文url:http://blog.csdn.net/loveyou128144/article/details/4749576 @Is-A,Has-A,Use-A则是用来描述类与类之间关系的.简单的 ...

  6. oracle查询时间

    oracle查询和时间有关的命令: 方法一:select * from dual where time between to_date('2012-06-18 00:00:00','yyyy-mm-d ...

  7. day3 函数、递归、及内置函数

    请查看我的云笔记链接: http://note.youdao.com/noteshare?id=7d5aa803981ae4375a1f648f48e7ade3&sub=5DFD553A6C5 ...

  8. June 15th 2017 Week 24th Thursday

    Whatever is worth doing is worth doing well. 任何值得做的,就把它做好. Whatever is worth doing is worth doing we ...

  9. fstat、stat和lstat 区别(转)

    fstat.stat和lstat 区别(转) stat系统调用系列包括了fstat.stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同. 1 首先隆重 ...

  10. chpasswd

    功能说明:从标准输入中读取一定格式的用户名.密码来批量更新用户的密码,其格式为 “用户名:密码”. 参数选项:-e 默认格式是明文密码,使用-e参数则需要加密的密码.