php学习手册(一)之基础语法

1,phpinfo()函数
PHP的标记通过echo语句和phpinfo()函数,向用户展示PHP5 的配置信息,包括配置文件所在目录以及一些相关扩展库的版本、作者信息等
其代码如下:

<?php

echo phpinfo();              //输出PHP配置信息。

?>

在这里插入图片描述
在实际的PHP项目开发的过程中。用户加载的任何一个组件,在phpinfo()函数的输出页面中都会显示是否已经获得支持。所以此函数的应用对于一个初学者来说是十分重要的。

2,在页面中打印服务器时间
在用PHP编写的网站中,我们经常需要获取当前时间。例如用户在什么时间登录的网站,黑客攻击网站是在什么时间等等。本实例应用PHP标记通过echo语句和date()函数来实现获取服务器时间。
那么,其语法说明如下:
date():参数format指定日期和时间输出的格式。有关参数format指定的格式如表1所示。参数timestamp为可选参数,指定时间戳,如果没有指定时间戳则使用本地时间time()。

date(string format,int timestamp);

同样创建index.php文件,通过echo语句输出date()函数的返回值,其代码如下:


<?php

echo date('Y-m-d H:i:s');               //输出当前时间。
//页面显示效果为:2019-06-28 22:05:39,如时间不对就修改时区试试
?>

3,在页面中打印当前执行的PHP文件名
很多时候用户需要编写包含文件路径及文件名称的代码,如果用户通过目录去查找,未免有些麻烦。这时用户可以使用__FILE__预定义函数。本实例通过__FILE__预定义常量获取目标文件的路径及文件名称并在网页上进行打印。
注意了,系统预定义常量和用户自定义常量在使用上没有差别。大多数的预定义常量的执行结果都是服务器的相关信息(版本号、路径、错误参数等),所以程序员很少将此函数用于网站前台的开发,如果被别有用心的人知道了这些信息。会严重威胁到服务器的安全。使用此函数的语法说明如下:

__FILE__预定义常量:文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,FILE 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
其代码如下:

<?php

echo __FILE__;                   //获取文件的完整路径
//效果类似D:\phpStudy\WWW\class3\Application\Admin\Controller\demoController.class.php
?>

其他PHP的预定义常量如下:

常量名      				常量值											说明
__FILE__			当前的文件名								在哪个文件中使用,就代表哪个文件名称
__LINE__			当前的行数									在代码的哪行使用,就代表哪行的行号
__FUNCTION__	当前的函数名								在哪个函数中使用,就代表哪个函数名
__CLASS__		当前的类名									在哪个类中使用,就代表哪个类的类名
__METHOD__	当前对象的方法名						在对象中的哪个方法使用,就代表这个方法名
PHP_OS				UNIX或WINNT等						执行PHP解析的操作系统名称
PHP_VERSION	5.5												当前php服务器的版本
TRUE					TRUE											代表布尔值,真
FALSE					FALSE											代表布尔值,假
NULL					NULL											代表空值
DIRECTORY_SEPARATOR		\或/							根据操作系统决定目录的分隔符
PATH_SEPARATOR				:或;							在linux上是一个":"号,WIN上是一个";"号
E_ERROR								1								错误,导致php脚本运行终止
E_WARNING							2								警告,不会导致php脚本运行终止
E_PARSE								4								解析错误,由程序解析器报告
E_NOTICE								8								非关键的错误,例如变量未初始化
M_PI										3.141592653				π 圆周率

再试下php系统预定义常量

echo "当前系统的操作系统是:".PHP_OS."";
echo "当前使用的php版本是:".PHP_VERSION."";
echo "当前的行数是:".__LINE__."";
//页面效果显示为:当前系统的操作系统是:WINNT当前使用的php版本是:5.4.45当前的行数是:21

4,区分单引号和双引号
说明:
输出或定义字符串时离不开单引号和双引号的修饰,表面上看它们似乎没有什么不同,实际上它们是有区别的。本实例应用单引号与双引号操作符向用户说明如何区分单引号和双引号。
关键:
使用双引号与单引号最大的区别是,双引号中所包含的变量支持解析运算,变量会自动被替换成实际数值,而在单引号中包含的变量则按普通字符串输出。
其代码如下:

<?php
  $a = 1;

echo "输出字符串$a"."<br>";

echo '输出字符串$a';
//页面效果
//输出字符串1
//输出字符串$a
?>

5,关于转义字符使用和定义字符串技巧
转义字符使用前提,转义字符通过双引号定义,写在双引号里面
(1)在字符串中表示单引号,则需要使用反斜线(\)进行转义。例如:定义一个字符串“It’s dogged that does it.”,则需要写出“It’s dogged that does it.”。

(2)在单引号或者字符串结束位置表示反斜线,同样要用反斜线进行转义,即用两个反斜线(\)表示。例如,表示字符串“F:\PkhPHP\www”,则要写出“F:\PkhPHP\www”。,可见使用转义字符输出特殊字符,就是在前面多加个反斜杠,“”"即在双引号中输出“

另外, “\n”和“\r”在Windows系统中没有什么区别,都可以当作回车符。但在Linux系统中则是两种效果,在Linux中,\n表示换到下一行,却不会回到行首;而\r表示光标会回到行首,但仍然在本行。
结合上面php双引号语法特性,得出一个关于字符串使用技巧:
在定义简单的字符串时,使用单引号是比较合适的处理方式。如果使用双引号,PHP将花费一些时间来处理字符串的转义和变量的解析。因此,笔者建议在定义字符串时,如果没有特别的要求,应该尽量使用单引号。

6,动态输出JavaScript代码
JavaScript语言是一门功能强大的客户端脚本语言,也是一门跨平台语言。PHP支持使用JavaScript编码。这里讲一下php5中新型字符串来动态输出JavaScript代码
其代码如下:

<?php
$str=<<<mark                                          //PHP5新型字符串开始部分。
<script language="javascript" type="text/javascript">                 //JavaScript代码。
                alert("欢迎进入PHP编程世界!!!");               //输出提示。
</script>                                                  //结束标记。
mark;                                                       //新型字符串介绍标记。
echo $str;                                                 //输出字符串。
?>

注意一点在php中使用定界符(如mark,可随意设置ma也行,但要有开头有结尾)时,最后的结束标记一定要单独一行而且前边不能有空格
然后页面效果:
在这里插入图片描述
这只是用在纯php代码中,用在框架中(如tp3.23框架)会出错,可能是与框架代码逻辑混合了
在这里插入图片描述

7,当数字遇到了字符串
虽然PHP是弱类型语言,但有时仍然需要用到类型转换。PHP中的类型转换和C语言一样,非常简单。本实例的关键点是运用类型转换的特点进行输出。

(1)系统根据情况自动转换数据类型称为自动转换。

(2)用户在变量名称前将想要转换的数据类型写到括号内称为强制转换。
代码如下:

 			$a = 10;                     //整型数据。
            $b = "我是字符串型数据";     //字符串类型数据。
            $e = $a + $b;
            $f = $b + $a;
            echo "自动类型转换:<br>";
            echo '10+我是字符串型数据='.$e."<br>";
            echo "强制类型转换:<br>";
            echo '10+我是字符串型数据='.(string)$e."<br>";//把$e改为$f结果一样
/*页面显示效果
自动类型转换:
10+我是字符串型数据=10
强制类型转换:
10+我是字符串型数据=10
*/

可知当数字加上字符串进行运算,结果永远是数字其值,因为字符串会被忽略

8,PHP程序员的基础——变量的应用
大楼盖的好不好主要在于地基是否牢靠,变量就是PHP编程的地基。这里介绍变量的定义与应用。
(1)定义:
通过echo语句输出定义的变量,其代码如下:

<?php
            $str = "Hello World!!!";           //定义变量。
            echo $str;                            //输出变量。
?>

(2)作用域:
变量有其自己的作用域,不同的作用域有不同的作用范围,就像清华大学学生的学生证,不能在北京大学的图书馆借阅图书一样。
变量按其作用域可以分为全局变量、局部变量和静态变量,变量作用域的说明如表1所示。

作用域											说明
全局变量										即被定义在所有函数以外的变量,其作用域是整个PHP文件,但是在用户自定义函数内部是不可用的。想在用户自定义函数内部使用全局变量,要使用global关键词声明,或者通过使用全局数组$globals进行访问

局部变量                                     即在函数的内部定义的变量,这些变量只限于在函数内部使用,在函数外部不能被使用

静态变量										 能够在函数调用结束后仍保留变量值,当再次回到其作用域时,又可以继续使用原来的值。而一般变量是在函数调用结束后,其存储的数据值将被清除,所占的内存空间被释放。使用静态变量时,先要用关键字static来声明变量。需要把关键字static放在要定义的变量之前

注意:在函数的内部定义的变量,其作用域是所在函数。如果在函数外赋值,将被认为是完全不同的另一个变量。在退出声明变量的函数时,该变量及相应的值就会撤销。

9,使用可变变量输出“I Like PHP!”
变量还包括预定义变量、可变变量等,可变变量是一种独特的变量,它允许动态改变一个变量名称。工作原理是该变量的名称由另外一个变量的值来确定。实现过程是在变量的前面多加一个“$”。

			 $str_name = "str_name_1";                   //定义变量。

            $str_name_1 = "I Like PHP!";                //定义可变变量。

            echo $$str_name;                          //输出可变变量。
//效果I Like PHP!

关键点,可变变量只是将两个变量的值使用一个变量命名进行操作。但是要注意被引用的变量名前要再加上一个“$”符号

10,使用常量指定PI的值计算圆的面积
常量是PHP编程基础的重要组成部分。常量的作用是定义一个不会改变的值。
PHP中通常使用define()函数来定义常量;使用constant()函数动态获取常量值;使用defined()函数判断一个常量是否已经定义;使用get_defined_constants()函数获取所有当前已经定义的常量。其中define()函数语法如下所示:

define():定义常量。

bool define ( string name, mixed value [, bool case_insensitive] );

参数说明:
string name:必选参数,常量名称,即标识符。
mixed value:必选参数,常量的值。
bool case_insensitive:可选参数,指定大小写敏感,设定为true,表示不敏感。

<?php
            define("PI",3.1415926);                               //定义常量。
            $r = 10;                                        //定义圆半径。
            echo "半径为10个单位的圆的面积".PI*($r*$r);          //定义圆面积。
            //运行结果:半径为10个单位的圆的面积314.15926
  //constant()函数动态获取常量值      
  //定义一个常量
define("GREETING","Hello world!");
echo constant("GREETING");
//输出:Hello world!
?>

用define()定义的常量一旦定义就不能改变或者取消。
常量定义拓展:
一般是define在类外定义常量,const在类内定义常量,并且const必须通过类名::变量名来进行访问。但是php5.3以上支持类外通过const定义常量,

/在类外面通常这样定义常量
define("PHP","phpddt.com");
class MyClass
{
    //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号
    const constant = 'constant value';

    function showConstant() {
        echo  self::constant . "<br>";
    }
}

echo MyClass::constant . "<br>";

define和const的其它区别:
1.const不能再条件语句中定义常量,但是define是可以的
2.const采用一个普通的常量名称,define可以采用表达式作为名称
3.const只能接受静态的标量,而define可以采用任何表达式。
4.const本身就是一个语言结构。而define是一个函数。所以使用const速度要快的多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值