php 类 行为无法赋值 成员变量,PHP入门

1.Hypertxt Processing:超文本预处理工具

2.用途:第一,服务端脚本。需要三部分,web服务器,web浏览器,PHP解释器(CGI或服务器模                          块)。

第二,命令行脚本。直接使用PHP解释器。常用于cron(Linux)或Task Scheduler执行日                       常脚本。

第三,编写桌面应用程序。PHPGTK。

3.FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。

特性: 第一,支持平滑的停止/启动的高级进程管理功能;

第二,可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置);

第三,发生意外情况的时候能够重新启动并缓存被破坏的 opcode;

第四,动态/静态子进程产生;

4.PECL :

pear打包的PHP扩展库仓库。扩展库名字是extname。

5.建立PECL共享库:

法一,PEAR编译共享库,使用PECL命令。

法二,phpize编译。phpize是准备php编译环境的。

6.php-config

是一个简单的命令行脚本,用于获取php配置信息

7.配置文件 php.ini

php.ini在php启动时读取,对于服务器模块的php,仅在web服务器启动时读取。而对于CGI和CLI模式下,每次调用都读取。

8. 如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。

9.如果在HTML中嵌入PHP脚本

要输出大段文本时,跳出 PHP 解析模式通常比将文本通过echo或print输出更有效率。

10.php变量类型:

整型,布尔,浮点,字符串四种标量类型。

array,object两种复合类型。

null,resource两种资源类型。

变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。

如果想查看某个表达式的值和类型,用var_dump()函数。

如果只是想得到一个易读懂的类型的表达方式用于调试,用gettype()函数。要查看某个类型,不要用gettype(),而用is_type函数。

如果要将一个变量强制转换为某类型,可以对其使用强制转换或者settype()函数。

11.boolean

当转换为boolean时,以下值被认为是FALSE:

布尔值FALSE本身

整型值 0(零)

浮点型值 0.0(零)

空字符串,以及字符串"0"

不包括任何元素的数组

不包括任何成员变量的对象(仅 PHP 4.0 适用)

特殊类型NULL(包括尚未赋值的变量)

从空标记生成的SimpleXML对象

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

12.Integer

PHP_INT_SIZE:表示整数字长。

PHP_INT_MAX:表示整数最大值。不同平台值是不一样的。

整数溢出:

如果给定的一个数超出了integer的范围,将会被解释为float。同样如果执行的运算结果超出了integer范围,也会返回float。

当从浮点数转换成整数时,将向下取整。round()四舍五入.

13.浮点数

NaN

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

所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者gmp 函数。

14.字符串

1>表示方式:单引号,双引号,heredoc,newdoc。

2>heredoc ,类似于双引号字符串。结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守 PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。 要注意的是结束标识符这行除了可能有一个分号(;)外,绝对不能包含其它字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或制表符。更重要的是结束标识符的前面必须是个被本地操作系统认可的换行,而结束定界符(可能其后有个分号)之后也必须紧跟一个换行。

3>newdoc类似于单引号字符串。一个 nowdoc 结构也用和 heredocs 结构一样的标记<<

4>用花括号{和}把它括起来即可。由于{无法被转义,只有$紧挨着{时才会被识别

5>存取和修改字符串中的字符.   string中的字符可以通过一个从 0 开始的下标,用类似array结构中的方括号包含对应的数字来访问和修改,比如$str[42]。可以把string当成字符组成的array。函数substr()和substr_replace()可用于操作多于一个字符的情况。Note:string也可用花括号访问,比如$str{42}。

用超出字符串长度的下标写入将会拉长该字符串并以空格填充。非整数类型下标会被转换成整数。非法下标类型会产生一个E_NOTICE级别错误。用负数下标写入字符串时会产生一个E_NOTICE级别错误,用负数下标读取字符串时返回空字符串。写入时只用到了赋值字符串的第一个字符。用空字符串赋值则赋给的值是 NULL 字符。

6>一个值可以通过在其前面加上(string)或用strval()函数来转变成字符串。

在一个需要字符串的表达式中,会自动转换为string。比如在使用函数echo或print时,或在一个变量和一个string进行比较时,就会发生这种转换。

一个布尔值boolean的TRUE被转换成string的"1"。Boolean的FALSE被转换成""(空字符串)

数组array总是转换成字符串"Array"。NULL总是被转变成空字符串。

该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0(零)。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),再跟着可选的指数部分。指数部分由 'e' 或 'E' 后面跟着一个或多个数字构成

7.数组

1>此外key会有如下的强制转换:

包含有合法整型值的字符串会被转换为整型。例如键名"8"实际会被储存为8。但是"08"则不会强制转换,因为其不是一个合法的十进制数值。

浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名8.7实际会被储存为8。

布尔值也会被转换成整型。即键名true实际会被储存为1而键名false会被储存为0。

Null会被转换为空字符串,即键名null实际会被储存为""。

数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。

2>注意这里所使用的最大整数键名不一定当前就在数组中。它只要在上次数组重新生成索引后曾经存在过就行了。unset数组后索引并不从0开始。

3>转为数组

对于任意integer,float,string,boolean和resource类型,如果将一个值转换为数组,将得到一个仅有一个元素的数组,其下标为 0,该元素即为此标量的值。如果一个object类型转换为array,则结果为一个数组,其单元为该对象的属性。键名将为成员变量名,不过有几点例外:整数属性不可访问;私有变量前会加上类名作前缀;保护变量前会加上一个 '*' 做前缀。这些前缀的前后都各有一个 NULL 字符。这会导致一些不可预知的行为。将NULL转换为array会得到一个空的数组。

数组(Array)的赋值总是会涉及到值的拷贝。注意这点。

8.对象。

如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,将会创建一个内置类stdClass的实例。如果该值为NULL,则新的实例为空。数组转换成对象将使键名成为属性名并具有相对应的值。对于任何其它的值,名为scalar的成员变量将包含该值。

9.资源

一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。

转换资源:由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

释放资源:由于 PHP 4 Zend 引擎引进了引用计数系统,可以自动检测到一个资源不再被引用了(和 Java 一样)。这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放。因此,很少需要手工释放内存。

10.NULL

使用(unset) $var将一个变量转换为null将不会删除该变量或 unset 其值。仅是返回NULL值而已。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值