函数与数组变量

时间:2010-06-08 06:11:47

标签: php function arrays

如何通过函数传递数组,例如:

$data = array(
    'color'  => 'red',
    'height' => 'tall'
);

something($data);

function something($data) {
    if ($data['color'] == 'red') {
        // do something
    }
}  

如何让功能识别$data[color]$data[height]

3 个答案:

答案 0 :(得分:1)

有时最简单的答案是正确答案:

$data = array(
    'color'  => 'red',
    'height' => 'tall'
);


function something($data) {
    if ($data['color'] == 'red') {
        // do something
    }
} 

something($data);

在这种情况下,数组不需要特殊处理,您可以将任何类型的类型传递给函数。

答案 1 :(得分:1)

这有效:

$data = array('color'  => 'red', 'height' => 'tall');

function something($data) {
    if ($data['color'] == 'red') {
        // do something
    }
}

something($data);

作为评论,您需要引用字符串:$data['color']

答案 2 :(得分:0)

也许你需要对参数进行一些验证才能使函数更可靠。

function something($data)
{
    if(is_array(data) and isset($data['color']))
    {
         if($data['color'] == 'red')
         {
            //do your thing
         }
    }
    else
    {
         //throw some exception
    }
}