2016-08-30 73 views
1

你好我有一個數組和foreach循環,這在技術上工作正常。這是我的代碼。PHP單獨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 

我想每個名字存儲到不同的變量。這個有可能?

+2

是。但是它的邏輯是什麼?無論你想要做什麼,你真的需要單獨的變量嗎? –

+0

我需要稍後使用它們,以高圖形顯示。我使用highchart.js,並且必須爲每列設置名稱。但名字來自數據庫。 – Robert

回答

2

我不完全理解你的問題,但如果這是你的意思,那麼這是我的答案。您可以直接存儲到不同的變量,或者是附加在你的循環,如分配如下代碼名稱[]數組:

<?php 
$names = array(); 
foreach($manrat as $manrate) { 
$names[] = $manrate['manufacturer']; 
} 
?> 

然後,您可以得到的名字像數組的元素:$名稱[0] $ names [1],...等。

我希望這能回答你的問題。

+0

對不起,也許我的問題並不清楚。但這正是我期待的。謝謝! – Robert

+1

[array_columns()](http://php.net/array_columns)在單行代碼中執行所有操作... –

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 ?>