转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/50959797
本文出自:【顾林海的博客】

前言

这几天因为公司的变动,感觉很累,回家看了点PHP的东西,做下笔记,看看都十二点了,差不多该洗洗睡了。

PHP的数据类型

转换数据类型

虽然PHP是弱类型语言,但有时仍然需要用到类型转换。PHP中的类型转换和C语言一样,非常简单,只需在变量前加上用括号括起来的类型名称即可。

  • (boolean):转换成布尔型,如:(boolean)$str
  • (string):转换成字符型,如:(string)$str
  • (interger):转换成整型,如:(integer)$str
  • (float):转换成浮点型,如:(float)$str
  • (array):转换成数组,如:(array)$str
  • (object):转换成对象,如:(object)$str

注意:在进行类型转换的过程中应该注意以下内容:转换成boolean型时,null、0和未赋值的变量或数组会被转换为false,其他的为true;转换成整型时,布尔型的false转换为0,true转换为1,浮点型的小数部分被舍去,字符型如果以数字开头就截取到非数字位,否则为0。

类型转换还可以通过settype()函数来完成,该函数可以将指定的变量转换成指定的数据类型。

bool settype(mixed var,string type)

参数var为指定的变量;参数type为指定的数据类型。参数type有7个可选值,即boolean、float、integer、array、null、object和string。如果转换成功返回true,否则false。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?phpheader("Content-Type:text/html;   charset=gb2312");$num='4.41131res';echo(integer)$num;echo'<p>';settype($num,'integer');echo $num;
?></body>
</html>

PHP常量

声明和使用常量

常量可以理解为不变的量。常量值被定义后,在脚本的其他任何地方都不能改变。一个常量有英文字母、下划线和数字组成,但数字不能作为首字母出现。
在PHP中使用define()函数来定义常量,该函数的语法格式为:

define(string constant_name,mixed value,case_sensitive=true)
  • constant_name:必选参数,常量名称,即标识符。
  • value:必选参数,常量的值。
  • case_sensitive:可选参数。指定是否大小写敏感,设定为true,表示不敏感。

获取常量的值有两种方法:一种是使用常量名直接获取值;另一种是使用constant函数,constant()函数和直接使用常量名输出的效果是一样,但函数可以动态地输出不同的常量,在使用上要灵活方便得多。函数的语法格式为:

mixed constant(string const_name)

参数const_name为要获取常量的名称,也可为存储常量名的变量。如果获取成功则返回常量的值,否则提示错误信息常量没有定义。
要判断一个常量是否已经定义,可以使用defined()函数。函数的语法格式为:

bool defined(string constant_name)

参数const_name为要获取常量的名称,成功返回true,否则false。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?phpheader("Content-Type:text/html;   charset=gb2312");define("DEFAULT_VALUE","这是一个常量");echo DEFAULT_VALUE."<BR>";//输出常量define("VALUE","大小写不敏感的常量",true);echo VALUE."<BR>";$name="VALUE";echo constant($name)."<BR>";//输出常量VALUEecho (defined("VALUE"))."<BR>";//如果常量被定义,则返回true,输出1。
?></body>
</html>

运行结果:

预定义常量

PHP中可以使用预定义常量获取PHP中的信息:

  • FILE:默认常量,PHP程序文件名
  • LINE:默认常量,PHP程序行数
  • PHP_VERSION:内建常量,PHP程序的版本
  • PHP_OS:内建常量,执行PHP解析器的操纵系统名称
  • TRUE:该常量是一个真值true。
  • FALSE:该常量是一个假值false。
  • NULL:一个null值
  • E_ERROR:该常量指到最近的错误处
  • E_WARNING:该常量指到最近的警告处
  • E_PARSE:该常量指到解析语法有潜在问题处
  • E_NOTICE:该常量为发生不寻常处的提示但不一定是错误处
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?phpheader("Content-Type:text/html;   charset=gb2312");echo"当前文件路径:".__FILE__;echo"<br>当前行数:".__LINE__;echo"<br>当前PHP版本信息:".PHP_VERSION;echo"<br>当前操作系统:".PHP_OS;
?></body>
</html>

运行结果:

PHP变量

变量是指在程序执行过程中数值可以变化的量。变量通过一个名字来标示。系统为程序中的每个变量分配一个存储单元,变量名实质上就是计算机内存单元的命名。因此,借助变量名即可访问内存中的数据。

在PHP中使用变量之前不需要声明变量(PHP4之前需要声明变量),只需为变量赋值即可。PHP中的变量名称用$和标识符表示,变量名区分大小写的。
除了直接赋值外,还有两种方式可为变量声明或赋值,一种是变量间的赋值。另一种是引用赋值,从PHP4开始,PHP引入了“引用赋值”的概念,即用不同的名字访问同一个变量内容。当改变其中一个变量的值时,另一个也跟着变化。引用赋值使用”&”符号来表示引用。

注意:引用和赋值的区别在于,赋值是将原变量内容复制下来,开辟一个新的内存空间来保存,而引用则是给变量的内容再起一个名字。

变量在使用时,要符号变量的定义规则。变量必须在有效范围内使用,如果变量超出有效范围,则变量也就失去其意义了。

  • 局部变量:在函数的内部定义的变量,其作用域是所在函数。
  • 全局变量:被定义在所有函数以外的变量,其作用域是整个PHP文件,但在用户自定义函数内部是可不用。如果希望在用户自定义函数内部使用全局变量,则要使用global关键字声明全局变量。
  • 静态变量:能够在函数调用结束后仍保留变量值,当再次回到其作用域时,又可以继续使用原来的值。而一般变量是在函数调用结束后,其存储的数据值即被清除,所占的内存空间也被释放。使用静态变量时,先要用关键字static来声明变量,把关键字static放在要定义的变量之前

PHP学习笔记-PHP语言基础2相关推荐

  1. PHP学习笔记-PHP语言基础3

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/50968247 本文出自:[顾林海的博客] 前言 大清早没什么事做,距离 ...

  2. rust学习笔记-rust语言基础

    rust语言基础 rust语言的优点 c/c++ 性能好,但是类型系统和内存都不太安全. java/c#, 有GC,内存安全有很多优秀的特性,但性能不行. Rust:安全,无需GC,易于维护 rust ...

  3. PHP学习笔记-PHP语言基础1

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/50951976 本文出自:[顾林海的博客] 前言 "合抱之木, ...

  4. MySQL学习笔记_8_SQL语言基础复习

    SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...

  5. 学习笔记3-C语言-基础

    C语言简介 发展史:BCPL -> new B -> C -> Minix -> Linux -> gcc C语言诞生: 1970年~1973年,在肯.汤姆逊和丹尼斯.里 ...

  6. nltk和python的关系_NLTK学习笔记(一):语言处理和Python

    目录 nltk资料下载 import nltk nltk.download() 其中,download() 参数默认是all,可以在脚本里面加上nltk.download(需要的资料库) 来进行下载 ...

  7. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  8. 菜鸟学习笔记:Java基础篇6(数组、字符串)

    菜鸟学习笔记:Java常用类(数组.字符串) 数组 概述 数组的定义 二维数组 数组查找和排序 查找 排序 数组运用--字符串 不可变字符序列(String) 可变字符序列(StringBuilder ...

  9. 菜鸟学习笔记:Java基础篇3(面向对象思想、程序执行过程内存分析、面向对象重要概念)

    菜鸟学习笔记:Java面向对象篇上 Java面向对象的思想 Java程序执行过程内存分析 Java垃圾回收机制 构造方法 方法重载(overload) static关键字 this关键字 Java面向 ...

最新文章

  1. 如何优雅的处理 Java 异常,可以参考这些建议
  2. linux shell 判断文件 修改时间和系统时间差
  3. Finding Similar Items 文本相似度计算的算法——机器学习、词向量空间cosine、NLTK、diff、Levenshtein距离...
  4. etrace 跟踪程序函数动态执行流程
  5. opnet中的例子模型
  6. RabbitMQ 消息确认机制confirm代码编写
  7. PRISM概率模型检测器初使用--骰子模型(改进版)
  8. nil 与 release
  9. vue 组件库发布_如何创建和发布Vue组件库
  10. .net开源框架简介和通用技术选型建议
  11. vc6可编译的 linux 源码,winpcap+vc6编译环境配置,以及获取网络设备列表的源代码...
  12. 聚类算法 距离矩阵_机器学习基础-层次聚类
  13. mac打开chm文件_Mac无法打开TXT文件怎么办?Mac无法打开txt文档的解决方法
  14. 什么是fine-tuning
  15. ActiveMQ 认证
  16. UHDTV (超高清电视)的色域与取样精度及格式
  17. uc浏览器手机模拟_UC、华为、OPPO等8款手机浏览器被重点集中整治!原因是.........
  18. 跟KingDZ学HTML5之九 HTML5新的 Input 种类
  19. 一、Zstack基础知识(ZCCT云计算认证)
  20. 数据库建模三步骤:概念模型-逻辑模型-物理模型

热门文章

  1. atlas mysql 数据库同步_Atlas实现数据库读写分离
  2. nfc pm3 模拟加密门禁卡_华为手机NFC的妙用,模拟门禁卡、公交卡、银行卡,电子证件等...
  3. C# .net core 解决ToLower中缺少CultureInfo格式重载
  4. Java RESTful Web Service实战
  5. 思维导图学 Linux Shell攻略之小试牛刀篇
  6. 学习类中的const和static类型
  7. iOS使用多线程提高数据并发访问 之七
  8. HNOI2015题解
  9. 相机位姿估计2:[应用]实时位姿估计与三维重建相机姿态
  10. Android开发之布局--RelativeLayout布局