我有以下数组:
Array
(
[id] => 1043847
[company] => Array
(
[businesstype] => Array
(
[0] => Array
(
[id] => 6
[name] => Business Service Provider
)
[1] => Array
(
[id] => 8
[name] => Retailer
)
)
)
)
我希望能够获得公司的价值 - > businesstype - > businesstype中所有数组的名称,因此它将显示如下:
业务类型:业务服务提供商,零售商
现在,如果我这样做:
<?php echo($chamber_member['company']['businesstype']['name']); ?>
如果我这样做,没有任何事情发生:
<?php echo($chamber_member['company']['businesstype'][0]['name']); ?>
我只得到一个数组[0]。如何通过上面的示例中的逗号分隔两个值?如有任何帮助,请提前感谢!!
答案 0 :(得分:5)
这应该适合你:
首先将列添加到包含array_column()
的数组中,然后您可以简单地implode()
此数组,例如
echo implode(",", array_column($chamber_member["company"]["businesstype"], "name"));
答案 1 :(得分:1)
foreach($chamber_member['company']['businesstype'] as $a)
$b[] = $a['name'];
$result = implode(", ", $b);
答案 2 :(得分:0)
通过array_column获取名称并通过implode获取cobde
<?php echo implode(',', array_column($chamber_member['company']['businesstype'], 'name')); ?>
答案 3 :(得分:0)
尝试使用'businesstype'值循环到数组位置:
for($i = 0; $i < count($chamber_member['company']['businesstype']); $i++){
echo $chamber_member['company']['businesstype'][$i]['name'] . ', ';
}
答案 4 :(得分:0)
我喜欢array_column()
,但为了完整起见,只需foreach()
:
foreach($chamber_member['company']['businesstype'] as $array) {
echo $array['name'];
}
或添加到数组implode()
。
答案 5 :(得分:0)
使用array_map()
的另一种解决方案: -
$arr=array
(
'id' => 1043847,
'company' => array
(
'businesstype' => array
(
array
(
'id'=> 6 ,
'name' => 'Business Service Provider'
),
array
(
'id' => 8,
'name' => 'Retailer'
)
)
)
);
echo $names = implode(',',array_map( function($person) { return $person['name']; },$arr['company']['businesstype']));
答案 6 :(得分:0)
使用它。最好的答案..
$result=$chamber_member['company']['businesstype'];
$last=end($result);
for($i=0;$i<count($result);$i++)
{
$b[$i] = $result[$i]['name']; echo $b[$i]; if($last!=$result[$i]['name']){ echo ","; }
}