我有一个多维数组,如下所示,
array('Hundai'=>array('Sonata','i20','Santro','Verna'),'Suzuki'=>array('Alto','Ritz'),'WW'=>array('Polo','Passat','Vento'))
我只想检索
Sonata,i20,Santro和Verna
当 Hundai 是我的输入时。有人建议我使用最少的循环次数
答案 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] );