通过传递字符串从函数返回数组

时间:2012-05-18 10:15:54

标签: php arrays

我有以下功能,我在阵列中有品牌信息。当我将品牌名称传递给此函数时,我应该获得包含这些信息的数组。

function brand_info($brand)
{
    $brands_list=array ( 
    'lg'=>
    array(
    'name'           => 'LG Phone Company',
    'country'        =>  'country',
    'founded_year'   =>  '2001'
    ),
    'nokia'=>
    array(
    'name'           => 'Nokia Phone Company',
    'country'        =>  'country',
    'founded_year'   =>  '2001'
    )
    );


    if(in_array($brand,$brands_list))
    {
        // return array containg company info
    }
}

这应该返回一个数组,通过它我可以显示这些信息。

$brand_info=brand_info($brand_name);
echo $brand_info['name'];

这可能是最好的方法吗?

4 个答案:

答案 0 :(得分:3)

如果您传递品牌名称,那么这就足够了:

function brand_info($brand)
{
    $brands_list=array ( 
    'lg'=>
    array(
    'name'           => 'LG Phone Company',
    'country'        =>  'country',
    'founded_year'   =>  '2001'
    ),
    'Nokia'=>
    array(
    'name'           => 'Nokia Phone Company',
    'country'        =>  'country',
    'founded_year'   =>  '2001'
    )
    );

    if (array_key_exists($brand,$brands_list)) {
      return $brands_list[$brand];
    } else {
      return false;
    }
}

$brandinfo = brand_info('Nokia');
echo $brandinfo['name']; // will print "Nokia Phone Company"

答案 1 :(得分:1)

可能看似微不足道但是......

return $brands_list[$brand]

答案 2 :(得分:1)

function brand_info($brand)
{
    $brands_list=array ( 
    'lg'=>
    array(
    'name'           => 'LG Phone Company',
    'country'        =>  'country',
    'founded_year'   =>  '2001'
    ),
    'nokia'=>
    array(
    'name'           => 'Nokia Phone Company',
    'country'        =>  'country',
    'founded_year'   =>  '2001'
    )
    );


    if(in_array($brand,$brands_list))
    {
        return $brand_list[$brand];
    }else{
        return null;
    }
}

然后

$info = brand_info($my_brand);
if(!is_null($info)){ echo $info['name']; }

答案 3 :(得分:1)

function brand_info($brand) {
    $brands_list=array (
        'lg'=>
            array(
                    'name'           => 'LG Phone Company',
                    'country'        =>  'country',
                    'founded_year'   =>  '2001'
            ),
        'Nokia'=>
            array(
                    'name'           => 'Nokia Phone Company',
                    'country'        =>  'country',
                    'founded_year'   =>  '2001'
            )
    );


    foreach ($brands_list as $brandname=>$info) {
        if($brandname==$brand) {
            return $info;
        }
    }
    return array();
}