获取函数外部声明的数组到每个函数,而不在php中传递参数

时间:2012-01-15 06:50:42

标签: php

将函数外部声明的函数传递给每个函数,而不在php中传递参数

<?php
  $arr2= array('00','12','23','73'); 

  function f1() {
    print_r($arr2);
  }

  f1();
?>

这里我们可以传递数组f1($ arr2),但是我想知道我们是否在函数'f1'中访问数组而不传递,比如设置全局或其他?

我只想知道,是否可能?

3 个答案:

答案 0 :(得分:3)

使用global

  function f1() {
    global $arr2;
    print_r($arr2);
  }

然而,正如@steven已经指出的那样,这被认为是不好的做法。

这些主题讨论了为什么全局变量被认为是坏的:

答案 1 :(得分:1)

使用全局变量是可能的,但通常认为这是一种不好的做法。

来自php.net的示例:

<?php
function test() {
    $foo = "local variable";

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
    echo '$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();
?>

答案 2 :(得分:1)

使用global $arr2

<?php
  $arr2= array('00','12','23','73'); 

  function f1() 
  {
     global $arr2;

     print_r($arr2);
  }

  f1();
?>