首页 > 代码库 > php语法基础

php语法基础

php变量

php变量用于存储字符,数字,数组甚至对象资源等,以便在我们需要的地方使用.

 $变量名=值;

 变量名以字母(a-z,A-Z)或者下划线_开始,后面可以跟

任意字母或数字以及下划线,但不能是空格. 

 例子:

     <?php

     $var_char="你好";

     echo $var_char;

     ?>

 结果为:你好!

延伸:与c语言等强类型的编程语言不通,php

是一门松散类型的语言,即不需要在设置变量之前

声明该变量.根据变量被设置的方式,php会自动

地将变量转换成正确的数据类型,且变量会在

使用时被自动声明,这一属性给web编程带来了

极大的灵活性. 

 php常量

 define()函数用于定义常量。

例子:

   <?php

     define("CONSTANT","你好!");

     echo CONSTANT;

   ?>

 php注释符号与注释格式

 php注释符号:

  (1)c++风格://这是c+风格的注释.

   (2)c风格:/*这是c风格的注释*/

     (3) Unix Shell风格:#这是Unix Shell风格的注释

 注意:不要嵌套使用 C 风格注释符,因为在碰到第一个 */ 时系统即认为该段注释结束,在注释掉一大块代码时很容易出现该错误。也可以多次使用 // 符号来注释多行代码,但一般只限于有限的几行

 isset() 用于检测一个或者多个变量是否设置。

  如果被检测得变量存在则返回true,否则饭后false,如果检测多个变量时,

只要其中一个变量存在,则检测结果就会返回true。 

  例子:

<?php

   $var=1;

   if(isset($var))

  {

    echo ‘变量$var 已经被设置‘;

  }

 else{

 echo ‘变量$var还未被设置‘;

 }

?>

注意: 

 (1)isset()只能用于检测变量,传递任何其它参数豆浆造成解析错误.

 (2)isset()是一个语言结构而非函数,因此它无法被变量函数调用.

$var=null;变量被设置成null.

unset($var); 被unset()释放了的变量.

var $var;类里变量被var关键字声明,但尚未设定.

下述情况,isset()返回true:

 $var=" ";

 $var=array();

$var=0;

$var=false;

 empty()用于检测一个变量是否为空。

注意:

(1)empty()只能用于检测变量,empty(addslashes($var)),

这种用法是非法的.

(2)empty()是一个语言结构而非函数,因此它无法被变量函数调用.

 unset()用于销毁一个或多个变量.

 注意:严格讲,使用 unset() 销毁静态变量,只是断开了变量名和变量值之间的引用.

unset() 全局变量同 unset() 静态变量一样,如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。

 提示

  • 在很多情况下,可以让 PHP 自动管理变量而无需考虑 unset() 变量。只有在特定的,需要某个变量必须为空的时候才使用到。如:用户退出登录时,为了确保信息的安全性,可以用 unset() 清空 session 的内容。
  • unset() 尽量不要用在静态变量上,因为这与定义静态变量的初衷相悖。
  • unset() 是一个语言结构而非函数,因此它无法被变量函数调用。

 php数据类型

 四种标量类型:string(字符串),integer(整型),float(浮点型,也作double),boolean(布尔型).

 两种复合类型:

 1.array(数组) 2.object(对象).

 两种特殊类型:

 1.resource(资源) 2.NULL(空) 

提示:1.由于历史原因,如果是 float 类型数据,gettype() 函数返回的是 double,而不是 float ;2.如果想查看某个表达式的值和类型,请使用用 var_dump() 函数。

  整型(略),字符串类型(略),浮点型:浮点数的字长跟平台相关,尽管通常最大值是

1.8e308并具有14位十进制数字的精度(64位IEEE格式).

 数组:用array()语言结构来新建一个数组;

 $arr=array("foo"=>"bar", 12=>TRUE);

 echo $arr<"foo">;  //输出bar

 echo $arr<12>; //输出1

例子中,"foo"与12称为键名(key),"bar"与true为对应的值。

在这个数组中,包含了2个类型.

   1.$arr["foo"]:值为"bar",字符串类型.

   2.$arr[12]:值为true,布尔型.

object:对象(object)用new关键字实例化一个对象.

 resource:资源是一种特殊的变量类型,保存了到外部资源的一个引用,

如打开文件,数据库连接,图形画布区域等。资源是通过专门的函数建立和使用的.

 注意:由于 PHP4 Zend 引擎引进了资源计数系统,可以自动检测到一个资源不再被引用了(和 Java 一样)。这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放。因此,很少需要用某些 free-result 函数来手工释放内存。  注意: 持久数据库连接比较特殊,它们不会被垃圾回收系统破坏。 
NULL:表示一个变量没有值,null类型唯一可能的值就是null.

当一个变量被赋值为null,或尚未被赋值,被unset()可认为是null。 

提示:null不可写作null. 

 php函数PHP 内置函数常用的有“字符串函数”、“数组函数”、“数据库函数”、“时间/日期函数”、“文件函数”、“图像函数”、“正则函数”、“URL函数”等。

function_exists() 函数用于检测函数是否被定义。

 例子2,检测系统内置函数,以下代码是常见的用于检查系统是否开启 GD 库

<?php if(function_exists(‘gd_info‘))
{     echo ‘GD库已经开启。‘; } 
else {    echo ‘GD库没有开启。‘; } ?>

特殊情况

function_exists() 函数有个特殊情况,当参数不是以字符串函数名而是以 function_name() 形式传入参数时,function_exists() 将直接返回原函数值。

<?php function testfunc(){     echo ‘我是自定义函数‘; } echo function_exists(testfunc()); ?> 

运行该例子输出:

我是自定义函数