PHP程序设计读书笔记四

位操作符:
按位取反(~):如果操作数是浮点数,那在进行取反之前会先转换成整数;
如果操作数是字符串,那么结果值为一个和原字符串长度相等的字符串。
规则:
~0 = 1;
~1 = 0;
按位与(&):如果两个操作数都是字符串,操作符返回结果为字符串,结果字符串的长度为两个操作数中长度较短的那个字符串的长度,较长字符串的多余字符将被忽略。
规则:
1&1 = 0;
0&1 = 0;
0&0 = 0;
按位或(|):如果两个操作数都是字符串,操作符返回结果为字符串,结果字符串的长度为两个操作数中长度较长的那个字符串的长度,较短的字符串在末尾补0。
规则:
1|1 = 1;
0|1 = 1;
0|0 = 0;
按位异或(^):如果两个操作数都是字符串,操作符返回结果也为字符串,如果两个字符串的长度不同,则结果字符串的长度为两个操作数中长度较短的那个字符串的长度。
规则:
0^0 = 0;
1^1 = 0;
0^1 = 1;
逻辑操作符:
逻辑与(&&,and):具有短路性,在PHP中通常用这种方法来确保某段代码在一定条件为真时才被执行。
example:$result = $flag && mysql_connect();//这样的话,只有在$flag为true时,才会执行连接数据库的操作,否则,连接数据库的操作将一直不会被执行
&&与and的区别在于&&的优先级高于and
逻辑或(||,or):具有短路性,在PHP中通常使用这种方法来发送一个错误信息的通知或者对异常操作做某些处理;
example:$result = fopen($filename) || (echo "打开文件失败\n"; exit());//这句话说明只要打开文件成功,就不会执行异常处理的echo和exit()语句,如果打开文件失败,"||"后面的两条语句就会执行.
||和or的区别在于||的优先级高于or
类型转换操作符:
将对象转换成数组:会建立一个属性数组,从而可以将对象属性名称映射到值.

example:

		<?php 
			class Person{
				public $name = "Fred";
				public $age = 35;
			}
			
			$o = new Person;
			$a = (array)$o;
			print_r($a);
			?>
输出:


将数组转换为一个对象:会建立一个对象,它的属性对应数组的键和值。
example:

<?php 
			$a = array('name' => 'Fred','age' => 35,'wife' => 'Wilma');
			$o = (object)$a;
			echo $o->name;
			?>

输出:


其他操作符:
错误屏蔽(@)用于阻止一些操作符或函数生成错误信息.
执行外部命令(‘‘):反撇号操作符把包含在反撇号中的字符串当做shell命令执行,并返回一个输出
example:echo ($listing = ‘ls -ls /tmp‘);
流程控制语句:
if语句的另一种语法形式:用冒号(:)结束if和else,用endif来结束代码块
if(条件):
//条件为真要执行的语句(可以有多条)
else:
//条件为假要执行的语句(可以有多条)
endif;
switch语句的另一种语法形式:
switch(变量):
case 情况一:
//处理
break;
case 情况二:
//处理
break;
...
default:
//处理
break;
endswitch;
while语句的另一种语法形式:
while(条件):
//处理
endwhile;
for语句的另一种语法形式:
for(expr1;expr2;expr3)
//处理
endfor;
foreach语句的另一种形式:
foreach($array as $current):
//处理
endforeach;
foreach($array as $key => $value):
//处理
endforeach;
使用break可以跳出多重流程控制语句,break n------可以一次性跳出n重流程控制语句
example:

<?php 
			$i = 0;
			$j = 0;
			while($i < 10){
				while($j < 10){
				   if($j == 5):
					   break 2;//直接退出两层循环
				   endif;
				   $j++;
				}
				$i++;
			}
			echo $i."\n";
			echo $j;
		?>

输出:


使用continue可以跳到循环的任意层数的下一轮continue n---------可以一次性跳到循环的n层的下一轮
example:

<?php 
			$i = 0;
			$j = 0;
			while($i < 10){
				echo "\n";
				$i++;
				echo $i."\n";
				while($j < 10):
				echo $j."\t";
				   if($j == 5):
					   continue 2;//跳到第两层循环继续执行
				   endif;
				   $j++;
				endwhile;
			   
			}
		?>

输出:


exit和return:
exit语句会结束当前整个脚本的执行,return语句则使其所在的函数或脚本停止执行。
exit语句带一个可选值,如果这是一个数字,则是进程的结束状态。如果是一个字符串,该值会在进程终止前被打印出来
die()函数是exit语句形式的别名

包含代码:
PHP提供了两种结构从其他模块加载代码和HTML:require和include。两者都加载一个文件,把它作为PHP的脚本来运行,如果不能找到需要加载的文件就报错。
两者的区别在于:尝试require一个不存在的文件将导致一个致命错误而使脚本停止运行;尝试include一个不存在的文件则产生一个警告,不会停止脚本的执行。
include的一般用途是从通用的站点设计中分离出特定页面的内容。
example:
<? include 'header.html';?>
//代码
<? include 'footer.html'; ?>
require的一般用在如果没有加载库的话,页面就不能显示的地方加载代码库。
example:
require 'codelib.inc';
mysub();//这个函数在codelib.inc中定义
用include和require包含的文件可以任意命名。一般的扩展名是.php、.inc和.html。注意从web服务器远程访问的以.php结尾的文件,将能够获取该PHP脚本的输出,直接在该文件中执行PHP代码。
建议使用.inc文件作为主要包含代码的库文件,用.html文件作为主要包含HTML的库文件。
为了防止一个相同的文件被加载两次,可以使用include_once和require_once,这样会忽略掉之后尝试加载相同文件的行为。
包含文件中的代码被导入时,它在include语句出现的地方开始有效,被包含的代码可以看见和修改你代码中的变量。
如果include或require结构在一个函数中,在包含文件中的变量会成为该函数中的函数作用域变量。
因为include和require是关键字而不是真正的语句,所以在条件和循环语句中必须把他们用大括号括起来。
使用get_include_files()函数可获知脚本中包含(include或require)了哪些文件。它返回一个包含每个include或require的文件名的数组,文件名都是完整的系统路径名。没有解析的文件,不包含在内。
在web页面中嵌入PHP代码的方法
1.XML风格(首选)
格式:<?php //代码 ?>
2.SGML风格(一般不建议使用)
格式:<? //代码 ?>
3.ASP风格(一般不建议使用)
格式:<% //代码 %>
4.脚本风格(在不支持XML处理命令的HTML编辑器中使用)
<script language = "PHP">
//代码
</script>

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值