php基本语法

180it 2019-09-23 AM 1917℃ 0条

基本语法
php的标记使用<?php ?> 也可以使用<? ?> (需要打开短标签) 建议使用前者

文件末尾的 PHP 代码段结束标记可以不要,有些情况下当使用 include 或者 require 时省略掉会更好些,这样不期望的空白符就不会出现在文件末尾,之后仍然可以输出响应标头。在使用输出缓冲时也很便利,就不会看到由包含文件生成的不期望的空白符

<?php
echo "hello";
PHP 支持 C,C++ 和 Unix Shell 风格(Perl 风格)的注释

开头的注释 // 开头的注释, /**/ 段落注释

<?php
// 行内注释
# 行内注释
/*
段落注释
*/
?>
数据类型
四种标量类型:

boolean(布尔型)
integer(整型)
float(浮点型,也称作 double)
string(字符串)
三种复合类型:

array(数组)
object(对象)
callable(可调用)
最后是两种特殊类型:

resource(资源)
NULL(无类型)
1.布尔类型 Boolean
布尔类型只有true和false两个值

以下的值会认为是false。其他之外的都是true

布尔值 FALSE 本身
整型值 0(零)
浮点型值 0.0(零)
空字符串,以及字符串 "0"
不包括任何元素的数组
特殊类型 NULL(包括尚未赋值的变量)
从空标记生成的 SimpleXML 对象
var_dump((bool)'false') //true #字符串false
var_dump((bool) false) //false #布尔值false

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

自 PHP 4.4.0 和 PHP 5.0.5后,整型最大值可以用常量 PHP_INT_MAX 来表示,最小值可以在 PHP 7.0.0 及以后的版本中用常量 PHP_INT_MIN

123
-123
0123 #八进制
0x123 #十六进制
给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float

从其他类型转换成整型

布尔值转整型 false 产生 0 true 产生 1

从浮点型转换 向下取整 0.5 转换成 0

字符串转整型

如果该字符串没有包含 '.','e' 或 'E' 并且其数字值在整型的范围之内(由 PHP_INT_MAX 所定义),该字符串将被当成 integer 来取值。其它所有情况下都被作为 float 来取值。该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0(零)。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),再跟着可选的指数部分。指数部分由 'e' 或 'E' 后面跟着一个或多个数字构成

bob3+1 //1
3bob+1 //4

  1. 浮点数float
    浮点数,也就是我们说的小数。由于浮点数的精度有限。尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导致的最大相对误差为 1.11e-16

永远不要比较两个浮点数的值

4.字符串string
字符串由一些字符组成。字符串有四种表示方法

单引号

单引号是最简单的表示方法。在C语言中 单个字符用单引号表示。单引号的变量不解析.表达一个单引号自身,需在它的前面加个反斜线(**)来转义

$a = 'abc';
$b = '$a';//$a
$c = "$a"; //abc

双引号

双引号非转义任何其它字符都会导致反斜线被显示出来。{$var} 中的反斜线还不会被显示出来。

heredoc

heredoc 结构是一种提供一个开始标记和一个结束标记。方便书写大段的字符串。结束标记必须顶格写。

类似双引号。单引号不转义。变量解析

<?php
$heredoc = <<<START
FDSFDSFS
SDFSDTHIS DDSFS
任意字符
SF
START

?>

nowdoc

Nowdoc 结构是类似于单引号字符串的。Nowdoc 结构很象 heredoc 结构,但是 nowdoc 中不进行解析操作 nowdoc前需要加上单引号。

<?php
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;

string中的字符可以通过一个从 0 开始的下标,用类似 array结构中的方括号包含对应的数字来访问和修改

字符串的链接

字符串的连接使用.(点)

转成字符串

布尔值 true转成1 。false 转成 “”

数组array转成 "array".object总是被转换成字符串 "Object",

  1. 数组array
    php中的数组和C语言中的数组还有区别。它是一种hash 的类型。通过key=>value.通过数组可以实现丰富的数据类型,如字典、列表、集合、栈等。

定义数组

$arr = array(1,2,3);
//简写 php5.4+
$arr2 = [1,2,3];
$arr2[1];
$arr3 = ["key"=>"value"];

$arr3["key"];
PHP 将自动使用之前用过的最大 INT键名加上 1 作为新的键名.PHP 实际并不区分索引数组和关联数组。

  1. 对象object
    创建一个新的对象的时候,使用new 关键字

class obj {}
$a = new obj();
7.资源类型resource
资源类型是保持外部的一个引用。如数据库的链接,文件的句柄等。

$fp = fopen("./a.log");//resource

  1. NULL类型
    当一个变量没有被赋值,那么该变量的值就是null。以下的情况是一个变量被认为是null

被赋值成null
未赋值
被unset
$a = null // null
$b;//var_dump($b); null
$c = 1;
unset($c);//var_dump($c); null

  1. 回调 callback
    function test(){
    echo "echo";
    }
    call_user_function('test');
支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

php基本语法