php学习心得

一.指令分隔符
同 C 或 Perl 一样,PHP 需要在每个语句后用分号结束指令。一段 PHP 代码中的结束标记隐含表示了一个分号;在一个 PHP 代码段中的最后一行可以不用分号结束。如果后面还有新行,则代码段的结束标记包含了行结束。

<?php echo "This is a test"; ?> <?php echo "This is a test" ?> <?php echo 'We omitted the last closing tag'; Note: 文件末尾的 PHP 代码段结束标记可以不要,有些情况下当使用 include() 或者 require() 时省略掉会更好些,这样不期望的白空格就不会出现在文件末尾,之后仍然可以输出响应标头。在使用输出缓冲时也很便利,就不会看到由包含文件生成的不期望的白空格。 二.布尔类型 这是最简单的类型。boolean 表达了真值,可以为 TRUE 或 FALSE。 Note: 布尔类型是 PHP 4 引进的。 语法 要指定一个布尔值,使用关键字 TRUE 或 FALSE。两个都不区分大小写。 <?php $foo = True; // assign the value TRUE to $foo ?>

通常你用某些运算符返回 boolean 值,并将其传递给控制流程。

<?php // == 是一个操作符,它检测两个变量是否相等,并返回一个布尔值 if ($action == "show_version") { echo "The version is 1.23"; } // 这样做是不必要的... if ($show_separators == TRUE) { echo "
"; } // ...因为可以使用下面这种简单的方式: if ($show_separators) { echo "
"; } ?>

要明确地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换
三.字符串转变成数字:
当一个字符串 被用在了一个数字的环境中,结果和类型如下:
**如果字符串 没有包含 ‘.’,‘e’或’E’ 并且数字值符合整数类型的限定(PHP_INT_MAX定义的), 这个 字符串 可被认定是一个 integer, 在其它情况下被认定为一个float。**字符串的开始部分给定了它的值,如果 字符串 以合法的数字( 合法数值由符号,后面跟着一个或多个数字(可能有个小数点),再跟着可选的指数符号如’e’ 或 ‘E’,后面跟着一个或多个数字。)开始,这个数字可直接使用。 否则,值就是0(零)。
四.ord 返回字符的 ASCII 码值
int ord ( string $string ),返回字符串 string 第一个字符的 ASCII 码值,该函数是 chr() 的互补函数。
Example #1 ord() 范例
<?php
s t r = &quot; &quot; ; i f ( o r d ( str = &quot; &quot;; if (ord( str="";if(ord(str) == 10) {
echo "The first character of $str is a line feed. ";
}
?> **
五.chr 返回指定的字符
string chr ( int $ascii ),返回相对应于 ascii 所指定的单个字符。
Example #1 chr() 例子
<?php
$str = "The string ends in escape: ";
$str .= chr(27); /
在 $str 后边增加换码符 /
/
通常这样更有用 /
$str = sprintf(“The string ends in escape: %c”, 27);
?> ****
六.类型强制转换
PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型

<?php $foo = 10; // $foo is an integer $bar = (boolean) $foo; // $bar is a boolean ?>

允许的强制转换有:
(int), (integer) - 转换为 整型(integer)
(bool), (boolean) - 转换为 布尔型(boolean)
(当转换为 boolean 时,以下值被认为是 FALSE:
the 布尔值 FALSE 自身
the 整型值 0 (零)
the 浮点型值 0.0 (零)
空 字符串, 以及 字符串 “0”
不包括任何元素的数组
不包括任何成员变量的对象(仅PHP 4.0 适用)
特殊类型 NULL (包括尚未设定的变量)
从没有任何标记(tags)的XML文档生成的SimpleXML 对象
所有其它值都被认为是 TRUE(包括任何资源)。
-1 和其它非零值(不论正负)一样,被认为是 TRUE!)
(float), (double), (real) - 转换为 浮点型(float)
(string) - 转换为 字符串(string)
(binary) - 转换为二进制 字符串(string) (PHP 6)
(array) - 转换为 数组(array)
(object) - 转换为 对象(object)
(unset) - 转换为 NULL (PHP 5)
(binary) 转换会在结果前面加上前缀’b’,PHP 5.2.1 新增。
注意在括号内允许有空格和制表符
Note:可以将变量放置在双引号中的方式来代替将变量转换成 字符串(string)s

<?php $foo = 10; // $foo 是一个整数 $str = "$foo"; // $str 是一个字符串 $fst = (string) $foo; // $fst 也是一个字符串 // 输出 "they are the same" if ($fst === $str) { echo "they are the same"; } ?>

七.整型
一个 integer 是集合 Z = {…, -2, -1, 0, 1, 2, …} 中的一个数。
整型值可以使用十进制,十六进制或八进制表示,前面可以加上可选的符号(- 或者 +)。八进制表示数字前必须加上 0(零),十六进制表示数字前必须加上 0x。
PHP 不支持无符号整数。Integer值的字长可以用常量PHP_INT_SIZE来表示,自 PHP 4.4.0 和 PHP 5.0.5后,最大值可以用常量PHP_INT_MAX来表示。
如果向八进制数传递了一个非法数字(即 8 或 9),则后面其余数字会被忽略。
整数溢出:如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。
PHP 中有个 bug,因此当有负数参与时结果并不总是正确。例如当运算 -50000 * $million 时结果是 -429496728。不过当两个运算数都是正数时就没问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值