函数函数获取变量数组

时间:2011-04-28 17:36:10

标签: php

看下面的代码:

$myvar = array();

first();

function first()
{
    global $myvar;

    $array(apple, banana, orange);
}

second();

function second()
{
    global $myvar;

    print_r($array);
}

然后在输出中,第二个函数没有显示数组... = /我不知道函数如何从其他函数获取变量数组...

7 个答案:

答案 0 :(得分:2)

两件事

$myvar不会在您的函数中的任何位置使用;

你应该学习如何在声明的数组中添加元素。

    function first()
    {
        global $myvar;        
        $myvar=array('apple','banana','orange');
    }

答案 1 :(得分:1)

您没有在任何地方设置变量$array

答案 2 :(得分:1)

$array不在函数2的范围内。

答案 3 :(得分:1)

不要因为你懒惰而使用全局变量。改为使用返回值和函数参数

function first () { return array('apple','banana', 'orange'); }
function second ($param) { print_r($param); }
$fruit = first();
second($fruit);

答案 4 :(得分:1)

您要求$myvar行中的变量global $myvar;,但之后您尝试使用名为$array的变量。

尝试使用以下行:

$myvar = array('apple','banana','orange');

print_r($myvar);

答案 5 :(得分:-1)

我看起来像这样的正确代码:

$myvar = array();

first();
second();

function first(){
    global $myvar;
    array_push($myvar, 'apple', 'banana', 'orange');
}
function second(){
    global $myvar;
    print_r($myvar);
}

array_push将新项添加到数组中。

答案 6 :(得分:-4)

尝试使用一个类而不是两个函数和一个全局变量:

class functions {

    $myvar = array();

    function first(){
        $this->myvar = array('apple', 'banana', 'orange');
    }

    function second(){
        print_r($this->myvar);
    }
}

$fn = new functions();

$fn->first();
$fn->second();

使用全局变量并不是一个好主意(正如您在问题中所做的那样)。