美文网首页trivial
PHP 基础知识

PHP 基础知识

作者: 给我一炷香的时间 | 来源:发表于2015-02-15 09:08 被阅读199次

基本语法


PHP标记

<?php
?>
//短标记
<?
?>

注释

PHP 支持 C,C++ 和 Unix Shell 风格(Perl 风格)的注释。

<?php
    echo "This is a test"; // This is a one-line c++ style comment
    /* This is a multi line comment
       yet another line of comment */
    echo "This is yet another test";
    echo 'One Final Test'; # This is a one-line shell-style comment
?>

类型


简介

PHP 支持 8 种原始数据类型。
四种标量类型:

  • boolean(布尔型)
  • integer(整型)
  • float(浮点型,也称作double)
  • string(字符串)

两种复合类型:

  • array(数组)
  • object(对象)

最后是两种特殊类型:

  • resource(资源)
  • NULL(无类型)

Boolean 布尔类型

boolean 表达了真值,可以为 TRUE 或 FALSE。

要指定一个布尔值,使用关键字 TRUE 或 FALSE。两个都不区分大小写。

要明确地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制结构需要一个 boolean 参数时,该值会被自动转换。
当转换为 boolean 时,以下值被认为是 FALSE:

  • 布尔值 FALSE 本身
  • 整型值 0(零)
  • 浮点型值 0.0(零)
  • 空字符串,以及字符串 "0"
  • 不包括任何元素的数组
  • 不包括任何成员变量的对象(仅 PHP 4.0 适用)
  • 特殊类型 NULL(包括尚未赋值的变量)
  • 从空标记生成的 SimpleXML 对象

所有其它值都被认为是 TRUE(包括任何资源)。

integer 整型

整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。

二进制表达的 integer 自 PHP 5.4.0 起可用。

整型数的字长和平台有关,尽管通常最大值是大约二十亿(32 位有符号)。64 位平台下的最大值通常是大约 9E18。

PHP 不支持无符号整数。

如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。
PHP 中没有整除的运算符。1/2 产生出 float 0.5。值可以舍弃小数部分强制转换为 integer,或者使用 round() 函数可以更好地进行四舍五入。

<?php
var_dump(25/7);         // float(3.5714285714286) 
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4) 
?>

从布尔值转换:FALSE 将产生出 0(零),TRUE 将产生出 1(壹)。
从浮点型转换:当从浮点数转换成整数时,将向下取整。

如果浮点数超出了整数范围(32 位平台下通常为 +/- 2.15e+9 = 2^31,64 位平台下通常为 +/- 9.22e+18 = 2^63),则结果为未定义,因为没有足够的精度给出一个确切的整数结果。在此情况下没有警告,甚至没有任何通知!

float 浮点型

浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。

对于其它类型(除了string)的值,其情况类似于先将值转换成整型,然后再转换成浮点。

自 PHP 5 起,如果试图将对象转换为浮点数,会发出一条 E_NOTICE 错误消息。

某些数学运算会产生一个由常量 NAN 所代表的结果。此结果代表着一个在浮点数运算中未定义或不可表述的值。任何拿此值与其它任何值进行的松散或严格比较的结果都是 FALSE
由于 NAN 代表着任何不同值,不应拿 NAN 去和其它值进行比较,包括其自身,应该用 is_nan() 来检查。

string 字符串

一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode 。
一个字符串可以用 4 种方式表达:

  • 单引号
  • 双引号
  • heredoc
  • nowdoc(自 PHP 5.3.0 起)

heredoc

第三种表达字符串的方法是用 heredoc 句法结构: <<< 。在该运算符之后要提供一个标识符,然后换行。接下来是字符串 string 本身,最后要用前面定义的标识符作为结束标志。
结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守 PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。

要注意的是结束标识符这行除了可能有一个分号(;)外,绝对不能包含其它字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或制表符。更重要的是结束标识符的前面必须是个被本地操作系统认可的换行,比如在 UNIX 和 Mac OS X 系统中是 \n,而结束定界符(可能其后有个分号)之后也必须紧跟一个换行。

如果不遵守该规则导致结束标识不“干净”,PHP 将认为它不是结束标识符而继续寻找。如果在文件结束前也没有找到一个正确的结束标识符,PHP 将会在最后一行产生一个解析错误。

Heredoc 结构就象是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义,但是上文中列出的转义序列还可以使用。变量将被替换,但在 heredoc 结构中含有复杂的变量时要格外小心。

nowdoc

一个 nowdoc 结构也用和 heredocs 结构一样的标记 <<<, 但是跟在后面的标识符要用单引号括起来,即 <<<'EOT'。Heredoc 结构的所有规则也同样适用于 nowdoc 结构,尤其是结束标识符的规则,但是 nowdoc 中不进行解析操作。

变量解析

相关文章

  • 前言

    第一篇:基础知识 基础知识篇通过PHP入门搭建PHP的开发环境。php语言基础、流程控制语句、表达式、php函数、...

  • PHP学习资料

    基础知识:http://www.runoob.com/php/php-tutorial.htmlSublime工具...

  • PHP全栈学习笔记18

    php基础知识,JavaScript,jQuery,ajax基础知识 linux基础知识,mysql数据库的基础与...

  • PHP全栈学习笔记18

    php基础知识,JavaScript,jQuery,ajax基础知识 linux基础知识,mysql数据库的基础与...

  • 01_PHP 基础知识

    1. PHP 基础知识 1. PHP 基础知识[#1-php-%E5%9F%BA%E7%A1%80%E7%9F%A...

  • php基础知识入门

    PHP基础知识点整理 • 缩写:Personal Home Page ==>>PHP:HypeText Pre...

  • PHP面试知识脉络(更新中)

    PHP基础知识Javascript、jQuery、ajax基础知识Linux基础知识MySQL数据库的基础与优化程...

  • PHP从入门到精通

    一、PHP学习教程 PHP学习前期,首要的WEB前端基础知识,比如:html5、css3、java、jquery有...

  • 学习PHP需要掌握哪些编程知识无标题文章

    下面千锋教育PHP培训为大家介绍学习PHP前需要掌握的基础知识。的确,PHP入门简单,与其他知识也不挂钩,可以零基...

  • PHP基本语法

    本文是复习所写,并不会涵盖一些基础知识点 PHP标记 由于PHP与HTML可以混编,所以需要明确标识出PHP代码块...

网友评论

    本文标题:PHP 基础知识

    本文链接:https://www.haomeiwen.com/subject/tmjexttx.html