PHP学习笔记(一):类型

PHP即PHP:Hypertext Preprocessor,是一种被广泛应用的开源通用脚本语言,尤其适用于web开发并可嵌入HTML中去。它的语法利用了C、Java、Prel,易于学习。该语言的主要目标是允许web开发人员快速编写动态生成的web页面。
和客户端的Javascript不同的是,PHP代码是运行在服务端的。PHP脚本主要应用于以下三个领域:一、服务端脚本;二,命令行脚本;三、编写桌面应用程序(PHP-GTK)。
PHP支持8种原始数据类型。
四种标量类型:1、boolean(布尔型)2、integer(整型)3、float(浮点型,也称作double)4、string(字符串)
两种复合类型:1、array(数组)2、object(对象)
两种特殊类型:1、resource(资源)2、NULL(无类型)
另外还有一些伪类型:1、mixed(混合类型)2、number(数字类型)3、callback(回调类型)以及伪变量$…。
Note:要查看某个表达式的值和类型,用var_dump()函数。(另外还有gettype()和is_type()函数)

PHP中关于类型的定义,并不像其他的语言(C、Java)一样需要给出具体的类型,PHP会根据给变量赋的值自动进行判断。

一、Boolean 布尔类型
布尔类型是最简单的类型,主要用于控制语句的判断。可以为TRUE和FALSE(两者都不区分大小写)
被判断为FALSE的值或类型为:零值(0、0.0)以及各种不包含任何元素的其他类型。
其他的所有值都被认为是TRUE。(此处注意-1,也为true)
二、Integer 整型
整型值可以使用十进制、十六进制(0x前缀)、八进制(0前缀)或二进制(0b前缀,PHP5.4起)展示。PHP不支持无符号整数。
三、Float 浮点型

四、String 字符串
字符串是PHP中最重要的类型。一个字符串就是有一系列字符组成,其中每个字符等同于一个字节。这就意味着PHP只能支持256的字符集,因此不支持Unicode。
Note:string最大可以达到2GB。
定义字符串的方式可以用4种方式表达:单引号、双引号、heredoc语法结构、nowdoc语法结构(PHP5.3.0起)。
单引号和双引号的主要区别在于,包围在双引号中的变量一些特殊字符(转义字符)将被解析,单引号内则会原样输出。
Heredoc结构:<<<运算符后提供一个标识符(符合规则的即可),并作为结束标记(此时必须在改行的第一列)

$str = <<<flag
    this is heredoc
flag;

Nowdoc结构
类似于Heredoc结构,但其中不进行解析操作。<<<后跟的标识符要用单引号括起来。

$str = <<<'flag'
    this is nowdoc
flag;

关于字符串的其他特性解析,主要涉及变量解析字符串中字符的提取在后续会给出。
五、Array 数组
PHP中的数组实际上是一个有序映射,映射是一种把values关联到keys的类型。
定义数组利用array()语言结构来新建一个数组。有以下两种定义方式。

$array = array(
    "key1" = "value1",
    "key2" = "value2",
);
// 自PHP 5.4起
$array = [
    "key1" = "value1",
    "key2" = "value2",
];

Note:最后一个数组单元之后的逗号可以省略。**key可以为integer或者string**value可以是任意类型。
PHP中关于数组分为索引数组和关联数组(但两者之间可以混合),例:

$array = array(
    "apple" = "苹果",
    "banana" = "香蕉",
    100 = -100,
    -100 = 100,
);

同时key为可选项,如果未指定,将类似于其他语言(C、Java)中定义数组的方法。
数组单元可以通过array[key]来访问。(方括号和花括号效果相同)

关于数组类型有很多陷阱,后续会陆续给出。
六、Object 对象
对象初始化 要创建一个新的对象object,使用new语句实例化一个类。例:

class foo
{
    function do_foo()
    {
        echo "Doing foo.";
    }
}
$bar = new foo;        //实例化
$bar -> do_foo();  //调用方法

七、Resource 资源类型
资源resource是一种特殊变量,保存了到外部资源的一个引用。
八、NULL
特殊的NULL值表示一个变量没有值。NULL类型唯一可能的值就是NULL(不区分大小写)。一个变量被认为是NULL主要有三种情况(被赋值为NULL、尚未被赋值、被unset())
九、Callback 回调类型
call_user_func()接受用户自定义的回调函数作为参数。

此种类型笔者也不是很理解,后续会给出更详细的解答。

类型转换问题:分为自动转化和强制类型转换。
前六种均可以强制转换,NULL类型利用unset实现强制转换。

关于PHP类型的更详细内容,将会在后续继续给出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值