PHP中的数据类型

先说一下PHP中的变量命名规范

  • 变量是编程语言中临时存放数据的容器。

PHP 中申明一个变量是用一个美元符号后面跟变量名来表示。变量名同样是区分大小写的。

PHP 中变量无需声明类型,变量的类型根据值的类型来推断。

PHP 中变量声明关键字依然不能和系统保留关键字等重名,该项可参考JS

<?php
$foo; // 申明一个变量,变量名为 `foo`,未对其进行赋值
$bar = 'baz'; // 申明一个变量,将一个值为 `baz` 的字符串赋值给它
echo $foo; // 输出一个变量名为 `foo` 的变量
fn($bar); // 将一个变量名为 `foo` 的变量作为 `fn` 的实参传递

数据类型

常见的 PHP 数据类型与 JavaScript 基本一致:

  • string(字符串)
  • integer(整型)—— 只能存整数
  • float(浮点型)—— 可以存带小数位的数字
  • boolean(布尔型)
  • array(数组)
  • object(对象)
  • NULL(空)
  • Resource(资源类型)
  • Callback / Callable(回调或者叫可调用类型)
字符串

PHP 有多种创建字符串的方式:单引号、双引号等。

  • 单引号字符串

不支持特殊的转义符号,例如 \n

如果要表示一个单引号字符内容,可以通过 \' 表达

如果要表示一个反斜线字符内容,可以通过 \\ 表达

  • 双引号字符串

支持转义符号

支持变量解析

<?php
// ====== 单引号 ======
echo 'hello\nworld';
// => `hello\nworld`

echo 'I\'m a better man';
// => `I'm a better man`

echo 'OS path: C:\\Windows';
// => `OS path: C:\Windows`

// ====== 双引号 ======
echo "hello\nworld";
// => `hello // world`

$name = 'zce';
echo "hello $name";
// => `hello zce`

字符串函数

http://php.net/manual/zh/ref.strings.php http://www.w3school.com.cn/php/php_string.asp

数组

PHP 中数组可以分为两类:

  • 索引数组
    与 JavaScript 中的数组基本一致
<?php
// 定义一个索引数组
$arr = array(1, 2, 3, 4, 5);
var_dump($arr);
// PHP 5.4 以后定义的方式可以用 `[]`
$arr2 = [1, 2, 3, 4, 5];
var_dump($arr2);
  • 关联数组
    有点类似于 JavaScript 中的对象
<?php
// 注意:键只能是`integer`或者`string`
$arr = array('key1' => 'value1', 'key2' => 'value2');
var_dump($arr);
// PHP 5.4 以后定义的方式可以用 `[]`
$arr2 = ['key1' => 'value1', 'key2' => 'value2'];
var_dump($arr2)
数据类型转换

参考:http://php.net/manual/zh/language.types.type-juggling.php

<?php
$str = '132';
// 将一个内容为数字的字符串强制转换为一个整形的数字
$num = (int)$str;
// 将一个数字强制转换为布尔值
$flag = (bool)$num;
运算符

数学运算符,逻辑运算符与 JavaScript 基本一致,无额外特殊情况。

字符串连接(拼接)采用的是比较特殊的 .

<?php
$name = 'zce';
// 拼接 `hey ` 和 `zce`
$message = 'hey ' . $name;
// 相当于 +=
$foo .= $messag
语句
  • 分号分割
  • if、switch、while、for、 foreach、function......
流程控制
  • 顺序结构
  • 分支结构

    • if ... else
    • switch ... case
  • 循环结构

    • for
    • while
    • foreach --- 专门用来遍历数组
<?php
$arr = array('name' => 'zhangsan', 'age' => '18');

foreach ($arr as $key => $value) {
    echo $key . ' ' . $value;
}

指令式

<?php
// 指令式就是将开始 { 换成 :  结束 } 换成 endif;
if ($i > 0) :
    echo 'ok'
endif;
// for foreach while 也是一样
for ($i = 0; $i < 10; $i++) :
    echo $i;
endfor;
函数

定义与使用函数的方式与 JavaScript 相同:

<?php
// 函数名不区分大小写
function foo ($name, $title) {
    echo "$name ($title)";
}
// 调用
foo('zce', 'UFO');
Foo('zgd', 'SBO');
// 大小写不区分

注意:使用方式有点差异(函数名不区分大小写),但是强烈建议不要这么做!

建议在 PHP 中采用下划线式(snake_case)做命名规则,不管是函数还是变量

本文链接:

http://godrry.com/archives/data-types-in-php-1.html
1 + 7 =
沙发还热乎呢~