PHP顺序流程

if语句

<?php

if(我是程序员)
{
	我是程序员中最帅的
}
?>

条件分支:

<?php

//首先设定我的技术全国排名第10
$myrank = 10;
if ($myrank >= 10 )
{
	echo '我是个垃圾';
}
?>

if…else语句

<?php

if (我是程序员)
{
	程序员中最帅
}
else
{
	继续学技术
}
?>	
<?php

//首先设定技术排名第10
$myrank = 10;
if ($myrank >= 10)
{
	echo '垃圾';
}
else
{
	echo '垃圾';
}
?>		

elseif语句

原型:

<?php

if (条件1)
{
	分支一
}
elseif(条件2)
{
	分支二
}
elseif(条件3)
{
	分支三
}		

eles语句,与其名称表示一样,它是if和else的组合,是多级关系,作用是延伸if语句,可以在原来if表达式的值为FALSE时执行不同的语句。和else不一样的是,当elseif语句中的条件表达式求值为TRUE时才执行其分支语句。

<?php

$a = 10;
$b = 10;

if ($a > $b)
{
	echo 'a > b';
}
elseif ($a == $b)
{
	echo 'a = b';
}
elseif ($a < $b)
{
	echo 'a = b';
}
?>		

switch语句

<?php
switch (数值型字符变量)
{
	case 变量可能值1:
		分支一;
	break;

	case 变量可能值2:
		分支二;
	break;
	
	case ... :
		...
	...

	default :
	最后分支;
?>	
<?php

$i = 1;
switch ($i)
{
	case 0:
		echo 'i=0';
		break;
	case 1:
		echo 'i=1';
		break;
	case 2:
		echo 'i=2';
		break;
	default :
		echo 'i等于其他数字';
}
?>

while语句

<?php

while (条件)
{
	语句
}
?>
<?php

$i = 1;
$num = 0;

while ($i <= 100)
{
	$num += $i;
	$i++;
}
?>	

do…while语句

<?php

do
{
	循环执行语句
}
while();
?>	

do…while循环中和while循环最为明显的区别是,前者将判断是否继续循环的条件放在后面。也就是说,就算是条件开始就不成立,循环也要被执行一次

<?php

$a = 1;
while ($a > 1)
{
	$a--;
}
?>	
<?php

$a = 1;
d0
{
	$a--;
}
while ($a>1);
?>	

for语句

<?php

for(初始化条件; 条件; 条件改变)
{
	循环语句;
}
?>
<?php
$num = 0;
for($i = 1; $i <= 100; $i++)
{
	$num += $i;
}
?>

foreach语句

foreach循环仅仅用于数组,当试图将其用于其他数组类型或是一个未初始化的变量时,会产生错误。
foreach有两种用法:

<?php

$ary = array{1,2,3,4,5,6};
foreach($ary as $value)
{
	echo '值为$value<br>\n'';
}
?>	

此段代码中,数组 a r y 包 含 6 个 元 素 , f o r e a c h 将 ary包含6个元素,foreach将 ary包含6个元素,foreach将ary的元素逐个打印,没循环一次就打印一个元素

<?php

$ary = array{1,2,3,4,5,6};
foreach($ary as $key => $value)
{
	echo '$key的值为$value<br>\n';
}
?>	

不同的地方是$value前面多了" k e y = > " , 意 思 是 将 键 名 赋 给 key => ",意思是将键名赋给 key=>",意思是将键名赋给key,键名是数组中元素的排序号。

异常处理

程序为按期望运行被称为异常,如连接数据库失败等,这就需要异常处理

<?php
try
{
	//需要异常处理的代码
}
catch (Exception $s)
{
	echo '捕获到异常:' . $s->getMessage();
}
?>		

需要进行异常处理的代码都必须放入try代码内,以便捕获可能存在的异常。每一个try至少要有一个与之对应的catch。使用多个catch可以捕获不同的类所产生的异常。当try代码块不在抛出异常或找不到catch所能匹配所抛出的异常时,代码就会在跳转到最后一个catch的后面继续执行。而一旦抛出异常,则try区块中抛出异常代码后面的代码将停止执行。

<?php
try
{
	$error = '连接数据失败';	//这里假设连接数据库失败
	throw new Exception($error);
	
	//从这里开始,代码将不会被执行
	echo '永远都不会执行';
}
catch (Exception $s)
{
	echo '捕获到异常:' . $s->getMessage(), '\n';
}
echo '从这里继续执行...;
?>		

declare语句

declare用来设定一段代码的执行指令,目前只接收一个指令ticks,这个指令通常用来调试

<?php
//记录时间的函数

function profile($dump == false)
{
	static $profile;
	if ($dump)
	{
		$temp = $profile;
		unset($profile);
		return ($temp);
	}
	$profil[] = microtime();
}

//注册tick指令处理函数

register_tick_function('profile');

//初始化时间

profile();

//评估的代码,两条低级语句就记录一次时间

declare(tick=2)
{
	for ($x = 1; $x < 50; ++$x)
	{
		echo similar_text(md5($x), md5($x*$x), '<br />;';
	}
}
//显示调试函数
print_r(profile (true));
?>			

此代码很少使用。。。。。。

上一篇:C#基础(四):foreach、var


下一篇:Java List——foreach()中使用return/break/continue