使用PHP读取条件的多维数组

时间:2011-05-31 09:08:24

标签: php arrays

我有一个多维数组,如下所示,

array('Hundai'=>array('Sonata','i20','Santro','Verna'),'Suzuki'=>array('Alto','Ritz'),'WW'=>array('Polo','Passat','Vento'))

我只想检索

Sonata,i20,Santro和Verna

Hundai 是我的输入时。有人建议我使用最少的循环次数

6 个答案:

答案 0 :(得分:5)

var_dump($array['Hundai']);

或者

echo implode(',', $array['Hundai']);

foreach($array['Hundai'] as $value){
   eacho $value.' ';
}

答案 1 :(得分:1)

$arr = array(
  'Hyundai' => array('Sonata', 'i20', 'Santro', 'Verna'),
  'Suzuki' => array('Alto', 'Ritz'),
  'VW' => array('Polo', 'Passat', 'Vento')
);

$key = 'Hyundai';

if (isset($arr[$key]) && is_array($arr[$key])) {
  echo implode(', ', $arr[$key]);
}

答案 2 :(得分:0)

foreach($main_array as $key=>$value)
{
if($key=='Hyundai')
{
print_R($value);
}
}

然后取决于你想要如何检索..你可以返回整个$ value数组或选择它的某些部分......

答案 3 :(得分:0)

鉴于您将数组命名为$cars$brand就是您的输入。

print_r($cars[$brand]);

答案 4 :(得分:0)

这将获取数组的最后两个元素,并将它们合并为一个,其中包含单词and。然后它将使用,作为分隔符内爆数组。

$item = $array['Hundai'];
$count = count($item);
if($count > 1) {
  $end = $item[$count-2] .' and '.$item[$count-1];
  $item = array_slice($item, 0, $count-2);
  $item[] = $end;
}
$string = implode(', ', $item);

答案 5 :(得分:0)

所有那些foreach循环有什么用,你不需要一个?

$cars = array(
    'Hundai' => array(
        'Sonata',
        'i20',
        'Santro',
        'Verna'
    ),
    'Suzuki' => array(
        'Alto',
        'Ritz'
    ),
    'VW' => array(
        'Polo',
        'Passat',
        'Vento'
    )
);

$car = 'Hundai';

echo implode( ', ', $cars[$car] );