获得对外宣称的功能阵列的每个功能传递参数没有通过参数在PHPGET数组声明的功能,各功能之外没有在PHP
<?php
$arr2= array('00','12','23','73');
function f1() {
print_r($arr2);
}
f1();
?>
在这里我们可以通过数组F1($ ARR2),但我想知道是否我们在函数'f1'内不接受数组,而不通过,如设置全局或其他的东西?
我只想知道,不管它是否可能?
获得对外宣称的功能阵列的每个功能传递参数没有通过参数在PHPGET数组声明的功能,各功能之外没有在PHP
<?php
$arr2= array('00','12','23','73');
function f1() {
print_r($arr2);
}
f1();
?>
在这里我们可以通过数组F1($ ARR2),但我想知道是否我们在函数'f1'内不接受数组,而不通过,如设置全局或其他的东西?
我只想知道,不管它是否可能?
使用global
:
function f1() {
global $arr2;
print_r($arr2);
}
然而,随着@steven已经指出的,它被认为是不好的做法。
这些线程说说为什么全局变量被认为是不好:
在函数内部声明了许多数组,它可以用于各种其他函数。所以我把这些数组放在函数的外面,在我需要的每个函数中设置它为'全局'。这是不好的主意吗? – 2012-01-15 07:11:46
使用全局变量是可能的,但它通常被认为是不好的做法。从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();
?>
使用global $arr2
:
<?php
$arr2= array('00','12','23','73');
function f1()
{
global $arr2;
print_r($arr2);
}
f1();
?>
是什么背景?这些功能是什么?什么是确定的用例?你知道,可以有很多不同的答案,取决于具体情况。将问题标记为不是真正的问题。 – 2012-01-15 07:15:41
如果你有许多功能都必须使用相同的数据,你通常会去上课和/或学习对象。使用'global'不是解决这个问题的好办法。 – deceze 2012-01-15 07:20:41
@deceze:我跟着一个没有使用类的结构,这就是为什么我去[全球]。 – 2012-01-15 07:24:06