2012-05-18 48 views
0

我有以下功能,其中我有一个数组中的品牌信息。当我将品牌名称传递给此函数时,我应该获得包含这些信息的数组。通过传递字符串从函数返回数组

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']; 

什么可能是最好的办法呢?

+0

你的意思是'返回$ brands_list [$ brand];'?显然你已经知道如何处理数组,所以问题是什么? –

+0

@felix是的确切,但其返回空,我不知道我缺少什么 – naeplus

+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" 
+0

但它返回空,我用var_dump($ brandinfo);以显示。 – naeplus

+0

上述内容对我来说是正确的,它不会使用任何取决于你的PHP配置的东西,所以它应该适合你。 – Nick

+0

确保您已正确键入所有变量@ NaeemX2。此代码有效。 –

1

似乎微不足道,但是......

return $brands_list[$brand] 
+0

谢谢......现在工作。 – naeplus

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']; } 
+0

它仍然返回NULL。我粘贴你的代码... – naeplus

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(); 
} 
+0

谢谢你。它的工作。 – naeplus