php初学(1)--imooc笔记

来源:互联网 发布:最新网络剧排行榜 编辑:程序博客网 时间:2024/05/18 01:15

系统常量

PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:

1__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。

2__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。

3PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

4PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

 

defined()函数  而不是 define()函数...

可以帮助我们判断一个常量是否已经定义,其语法格式为:

bool defined(string constants_name)

它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; (注:bool表示函数返回值类型为布尔类型)

 

字符串连接运算符

是为了将两个字符串进行连接,PHP中提供的字符串连接运算符有:

1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。

2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。

 

错误控制运算符“@”

对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;

如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。

需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如ifforeach等。

 

switch case中的break

<?php
//A例子
$num = 2;
$sum  = 10; 
switch($num){
    case 1:
        $sum = $sum  + 10;
    break;    
    case 2:
        $sum = $sum  + 10;
    break;    
     case 3:
        $sum = $sum  + 10;
    break;    
    default:
        $sum = $sum  + 10;
}
 echo "A例子的值是:".$sum."<br />";
//B例子
$num = 2;
$sum  = 10; 
switch($num){
    case 1:
        $sum = $sum  + 10;
    case 2:
        $sum = $sum  + 10;
    case 3:
        $sum = $sum  + 10;
    default:
        $sum = $sum  + 10;
}
 echo "B例子的值是:".$sum."<br />";
?>

中的结果是20; B中的结果是40,因为case 2完了以后并没有breaksum继续在case 3case 4的时候重复加了10共计2次。

 

PHP中循环结构之do…while语句的运用优势举例

whiledo...while可以根据具体情况选用。假设有一种棋类游戏,首先掷骰子,若不为6,前进骰子的点数的步长;若为6,前进骰子的点数的步长,并可以再掷一次。

<?php
    //while例子
    $sum  = 0; 
    $num = rand(1,6); //获取16的随机数,模拟掷骰子
    $sum = $sum  + $num;//前进步长
    while($num==6){
        $num = rand(1,6);//获取16的随机数,模拟掷骰子
        $sum = $sum  + $num;//前进步长
    };
    echo "while例子执行完毕,前进:".$sum ."<br />";
    //do...while例子
    $sum  = 0; 
    do{
        $num = rand(1,6);//获取16的随机数,模拟掷骰子
        $sum = $sum  + $num;//前进步长
    }while($num==6);
    echo "do...while例子执行完毕,前进:".$sum ."<br />";
?>

PS

1. 说明while语句中,你可以*无限投掷*,只有在你投掷出6的时候才会开始执行循环,在循环里你在投掷一回,若还是6可以继续,不是退出,并累加步数
do.....while 说明你*先投掷一次*,不是6,你就终止,退出循环,输出你的步数。投掷出6之后你可以再有一次投掷,若还是可以再来一次,以此类推。

2.为啥要有do-while循环呢?很多初学编程的人都不能理解,这其实主要是涉及到现实开发当中会出现的三种情况:初始化/预处理/判据关联,举一个例子:
do{
$a=rand(1,6);
}while($a==3);
这其实和
$a=rand(1,6);
while($a==3){
$a=rand(1,6);
}
一模一样,但是明显第二段代码非常笨重,而且初始化过程放在循环之外往往会让人不明所以,有时候我们还要统计循环次数,那就更加糟心了,所以do-while循环是有其合理性的.

0 0