你好,我有一个数组和一个foreach循环,技术上工作正常。这是我的代码。
foreach ($results as $result) {
$data['manrat'][] = array(
'manufacturer' => $result['manufacturer'],
'mhref' => $this->url->link('/info', 'manufacturer_id=' . $result['manufacturer_id'])
);
}
和
<?php foreach($manrat as $manrate) { ?>
<a href="<?php echo $manrate['mhref']; ?>"><?php echo $manrate['manufacturer'];?> </a>
<?php } ?>
这给我一个这样的结果:
name1 name2 name3 name4 name5
我想将每个名称存储到不同的变量中。这可能吗?
答案 0 :(得分:2)
我不太明白你的问题,但如果这是你的意思,那么这就是我的答案。您可以通过在循环中添加分配代码来存储到不同的变量或名称[]之类的数组:
<?php
$names = array();
foreach($manrat as $manrate) {
$names[] = $manrate['manufacturer'];
}
?>
然后,您可以将名称作为数组的元素获取,如:$ names [0],$ names [1],...等。
我希望这能回答你的问题。
答案 1 :(得分:0)
我会将这段代码重构为一个这样的foreach循环:
$anchors = '';
foreach ($results as $result) {
$anchors .= '<a href="' . $this->url->link('/info', 'manufacturer_id=' . $result['manufacturer_id']) . '">' . $result['manufacturer'] . '</a>';
}
并在您的实际HTML输出页面上:
<?php echo $anchors ?>
答案 2 :(得分:0)
使用内爆,如果您想将字符串转换为数组,请使用爆炸
$array_to_string = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
$store_to_string = implode(',',$array_to_string ); // a,b,c,d,e,f,g