淘先锋技术网

首页 1 2 3 4 5 6 7

函数(与javascript中定义函数方法相同)

<?php
// 函数名不区分大小写
function foo ($name, $title) {
  echo "$name ($title)";
}
// 调用
foo('zce', 'UFO');
Foo('zgd', 'SBO'); // 大小写不区分
?>
 注意虽然函数名不区分大小写,但不要这样搞!!!!

特性

    变量作用域 

      关于变量作用域这一点,php和绝大多数语言不同  默认函数作用域中不能访问函数所在作用域成员

       在javascript中我们可以在函数作用域中使用父级作用域的成员

<script>
var top = 'top variable'

function foo () {
  var sub = 'sub variable'

  console.log(top)
  // => `top variable`

  function bar () {
    console.log(top)
    // => `top variable`
    console.log(sub)
    // => `sub variable`
  }

  bar()
}

foo()
</script>

而在php中

<?php
$top = 'top variable';

function foo () {
  $sub = 'sub variable';

  echo $top;
  // => 无法拿到

  function bar () {
    echo $top;
    // => 无法拿到

    echo $sub;
    // => 无法拿到
  }

  bar();
}

foo();
?>

 如果需要访问全局变量,需要用  globle 关键字声明

<?php
$top = 'top variable';
function foo () {
  // 声明在当前作用域中获取全局作用域中的 `$top`
  global $top;
  $sub = 'sub variable';
  echo $top;
  // => `top variable`
  function bar () {
    // 声明在当前作用域中获取全局作用域中的 `$top` 和 `$bar`
    global $top, $bar;
    echo $top;
    // => `top variable`
    echo $sub;
    // => 任然无法拿到,因为 `$sub` 不再全局范围,而是在 `foo` 函数中定义
  }
  bar();
}
foo();
?>

超全局变量

    php中很多预定义变量都是 超全局的, 这意味着它们在一个脚本的全部作用域中都可使用,在函数中也无需用global关键字声明

    $GLOBALS — 引用全局作用域中可用的全部变量
    $_SERVER — 获取服务端相关信息
    $_REQUEST — 获取提交参数
    $_POST — 获取 POST 提交参数
    $_GET — 获取 GET 提交参数
    $_FILES — 获取上传文件
    $_ENV — 操作环境变量
    $_COOKIE — 操作 Cookie

    $_SESSION — 操作 Session

     .......   

$GLOBLAS

    $GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)

<?php
$x = 75;
$y = 25;
function foo () {
  $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
foo();
echo $z;
// => 100
?>

常量

    常量跟变量一样也是一个数据容器,但是不同的是一旦申明过后就不允许被修改。

<?php
// 定义常量使用的是内置的 `define` 函数
// 第一个参数是常量的名称,建议采用全大写字母命名,多个单词下划线分隔
// 第二个参数是常量中存放的数据,可以是任意类型
// 第三个参数是常量名称是否区不分大小写,默认 false 区分大小写
define('SYSTEM_NAME', '不变的哦');
define('SYSTEM_ENABLE', true);
// 直接通过常量的名称访问常量
// 与变量不同的是不需要用 $
echo SYSTEM_NAME;
echo SYSTEM_ENABLE;
?>

载入其他文件 :相当于将被载入的文件的代码在当前位置复制一份

    PHP 中引入其他 PHP 文件有四种方式
     
include:1.如果文件载入失败,也不会影响后续代码的执行  2.如果重复载入文件那么被载入的文件的代码会真正的重复执行
     include_once:1.如果文件载入失败,也不会影响后续代码的执行 2.如果重复载入文件,最终也只会载入一次
     require:1.如果文件载入失败,那么后续不再执行  2.如果重复载入文件那么被载入的文件的代码会真正的重复执行

     require_once:1.如果文件载入失败,那么后续不再执行 2.如果重复载入文件,最终也只会载入一次

    include 一般用于载入公共文件,这个文件的存在与否不能影响程序后面的运行
    require 用于载入不可缺失的文件

    至于是否采用一次载入(once)这种方式取决于被载入的文件 

------------------------------------接下来我们会在一个案例中来对所学的进行运用