• 在PHP中所有的函数都有返回值——即使你没有指定它返回内容。因此在PHP中声名”void”(无返回值)的函数没有意义。你可以使用return关键字来指定要返回的内容:

    function hello()
    {
      return "Hello World"; // 没有任何显示结果
    }
    
    $txt = hello(); // 将返回的“Hello World”值赋给$txt
    
    echo hello(); // 显示“Hello World”

    显然,return也可用于中断一个函数的运行,即使你没有打算返回任何值:

    function hello($who) 
    {
      echo "Hello $who";
      if ($who == "World") {
        return; // 执行到这里的话,本函数下面的语句就不会被执行到
      }
    
      echo ", how are you";
    }
    
    hello("World"); // 显示“Hello World”
    
    hello("Siemen"); // 显示“Hello Siemen, how are you?”

    请注意,即使你没有在return后面加上需要返回的内容,PHP仍然会触发函数返回NULL。

    函数也可以返回一个引用;这可以使返回值是其本身的引用,来取代复制关系(默认的返回值除了对象外其余都是复制关系)。比较典型的例子是资源类型(类似数据库连接)与使用工厂模式。但要注意的是——你只能返回一个值作为引用,而不是一个表达式,或者强制使用return语句返回NULL:

    function &query($sql)
    {
      $result = mysql_query($sql);
      return $result;
    }
    
    // 下面是不正确的写法,会引发PHP的提示
    function &getHello()
    {
      return "Hello World";
    }
    
    // 同样是不正确的写法,这样写会引发一个警告
    function &test()
    {
      echo "This is a test";
    }
    [ 阅读全文 ] 2010-04-08 10:27:36
  • 函数的语法非常简单。创建一个新的函数,我们只要使用function关键字,后面跟上一个识别名称,一对圆括号与一对花括弧:

    function hello()
    {
      echo "Hello World!";
    }
    
    hello(); // 显示 "Hello World!";
    

    PHP的函数名不区分大小写且只能由字母、数字和下划线组成。注意不能以数字开头。

    想要让你编写的函数去执行的话,只要把你要执行的代码写在花括弧中间,然后去掉用它。

    function hello()
    {
      echo "Hello World!";
    }
    
    hello(); // 显示 "Hello World!";
    
    [ 阅读全文 ] 2010-04-08 10:25:39
  • 可以这么说,函数是PHP程序的心脏。被函数封装的每一段代码可在任何地方反复调用其价值不可估量——它是构造程序和面向对象开发的基石。

    在本章中,我们的焦点放在创建于管理函数——因此,本章着重讲解如果写函数,而不是如何使用。

    目录放出:

    • 2.1 - 基本语法
    • 2.2 - 返回值
    • 2.3 - 变量作用域
      • 2.3.1 - 参数传递
      • 2.3.1 - 可变个数传参
      • 2.3.1 - 引用传参
    • 2.4 - 总结
    [ 阅读全文 ] 2010-04-08 10:23:09
  • 本章涵盖了很多PHP应用开发的要点。简单来说,这些知识是开发的基本要素,因此你必须非常熟悉他们的能力和特殊需要。

    有很多基本的知识点我们也只是略微了解:数组、字符串、函数和对象。他们复杂到足以使用整个章节去分别介绍他们,因此,以下四个章节就详细介绍他们。

    [ 阅读全文 ] 2010-04-08 10:01:09
  • 错误是每一门计算机语言不可缺少的部分——尽管他领程序员生厌!

    PHP拥有一些令人激动的除虫工具——细致精准的错误抛出、错误句柄与错误报告。合理的利用错误管理可以写出稳定的和有检测已知问题能力的应用,然后通过优雅的方式处理他们。

    作者提示:本章我们只介绍传统的程序错误管理。PHP 5中面向对象的错误管理会在面向对象开发章节中详细介绍。

    [ 阅读全文 ] 2010-04-08 09:33:38
  • 流程控制允许你控制你编写的脚本流(Siemen注:通俗点说就是按照你的安排去执行程序)——毕竟,一个脚本从开始一直运行到结束,你没有控制其运行走向与运行多少次数,那么程序也不会知道下一步该怎么做。

    PHP提供了一些与与众不同的流程控制——包括一些看似多余,确实对简化开发的。你应该要熟悉他们,把他们当作语言结构不可分割的部分。

    [ 阅读全文 ] 2010-04-08 09:05:03
  • 本节名称暗示,操作符促进操作。PHP中有很多种操作符,常用的有:

    • 赋值操作符——给变量赋值
    • 算数运算符——执行基本的数学计算
    • 字符串操作符——合并字符串
    • 数据比较符——比较两个数据
    • 布尔逻辑运算符——通过布尔进行逻辑判断

    PHP同时提供了其他操作符:

    • 位操作符——手动位操作
    • 错误控制符——控制错误显示
    • 执行操作符——执行系统指令
    • 递增/递减——数值递增递减
    • 类型操作符——识别对象

    作者提示:有极少数情况,PHP的操作符是二元操作符——需要两个操作数,所有的二元操作符都是夹在两个操作数中间(如,2 + 2)。

    [ 阅读全文 ] 2010-04-08 08:39:03
  • 与变量相反,常量是不可以被改变的值。常量在脚本中可以被全局访问,只能存放标量。常量在命名上与变量类似,区分大小写,且需要一个名称识别,不要附带$。为了识别方便,常量名称通常全大写:

    define('EMAIL', 'm@liuphp.com'); // 正确的常量申明
    echo EMAIL; // 显示 'm@liuphp.com'
    define('USE_XML', true);
    if (USE_XML) {} // 判断真假
    define('1CONSTANT', 'some value'); // 错误的常量申明
    
    [ 阅读全文 ] 2010-04-08 08:35:05
  • 变量是临时的存储容器。在PHP中,一个变量可以存放任何类型的数据,比如字符型、整形、浮点型、对象和数组。PHP对于变量的数据类型是松散型的,这就意味着变量中的数据类型会在需要时自动转换成其他类型,使程序正常运行下去。相对于一些强类型语言,比如C和JAVA,变量只能存放其事先定义好的数据。

    当看到$符号开头的便是PHP的变量,其符号后面跟随变量的名称。变量名称必须由字母、数字和下划线组成,不能以数字开头,且区分大小写(这点会在后续章节中介绍)。例如:

     

    $name = 'valid'; // 正确的写法
    $_name = 'valid'; // 正确的写法
    $1name = 'invalid' // 错误的写法, 以数字开头

    作者提示:变量也可以被穿插使用——即你可以把变量插入到字符型变量中。这个会在字符串章节详细介绍。

    [ 阅读全文 ] 2010-04-08 08:30:49