2012-05-18 2 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

Вы имеете в виду 'return $ brand_list [$ brand];'? Видимо, вы уже знаете, как работать с массивами, так в чем проблема? –

+0

@felix да точно, но его возвращение Null, я не знаю, чего мне не хватает – 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

, но его возвращающий Null, я использовал 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

Смежные вопросы