如何用PHP的implode和array_column同时输出数组多个值?
二维数组同时输出name和price的实现方案
方法一:使用array_map拼接后输出
这种方法和你原有代码逻辑衔接最顺畅,先通过array_map遍历每个子数组,将name和price按目标格式拼接成字符串,再用implode分隔输出:
<?php // 遍历数组,将每个子项格式化为指定字符串 $formattedItems = array_map(function($item) { return "Value={$item['name']} - Value={$item['price']}"; }, $post->cpbs_booking_extra); // 用<br />分隔多个项并输出 echo implode('<br />', $formattedItems); ?>
方法二:使用foreach循环拼接输出
如果你更习惯循环写法,也可以直接遍历数组拼接内容,最后输出:
<?php $output = ''; foreach($post->cpbs_booking_extra as $item) { $output .= "Value={$item['name']} - Value={$item['price']}<br />"; } // 移除最后多余的<br />标签 echo rtrim($output, '<br />'); ?>
说明
你原来的代码仅通过array_column提取了name字段,因此只能输出单一内容。上面两种方法都能同时获取每个子数组中的name和price,并按Value=NAME - Value=PRICE的格式拼接,支持数组有多个子项时的多行输出。
内容的提问来源于stack exchange,提问作者nmedia
相关产品推荐
相关产品推荐

