2017-10-12 98 views
-1

確定我有這個分配多個數組值變量

$eng[] = "All"; 
$eng[] = "engine_Sigma"; 
$eng[] = "engine_K-Series"; 
$eng[] = "engine_Duratec"; 
$eng[] = "engine_Suzuki"; 
$eng[] = "engine_Vauxhall"; 
$eng[] = "engine_Crossflow"; 

do { 
$enginetype = explode(":", $items['engineid']); 

foreach ($enginetype as $key) { 
    echo "$items[wsiid] - $items[code] - $items[incvat] - $eng[$key] <br> 
"; 
} 
} while ($items = mysqli_fetch_assoc($itemsq)); 

現在,而不是它呼應我想指定所有將被顯示給一個變量$ foreach循環中的值的值的每個實例測試,然後我可以在以後的回聲

我一直在嘗試過去的一個小時,並接近衝擊鍵盤。 任何幫助將是偉大的。由於

** **的新增

因此數據庫查詢將返回值,如1:3:6在表 第1行,這將意味着它應該呼應engine_Sigma engine_Duratec engine_Crossflow

行2在表中有值2那樣只會呼應engine_K系列

行3在表中有值1:2:5:6,這將呼應engine_Sigma engine_K系列engine_Vauxhall engine_Crossflow 希望,說明它更好 我想值得分配斯內德,我可以在以後使用,而不只是簡單地附和的foreach

我也想中的代碼的變量它像 是$ var =「engine_Sigma engine_K系列engine_Vauxhall engine_Crossflow」

回答

0

試試這個

$test=""; //Set variable to null 
do { 
$enginetype = explode(":", $items['engineid']); 

foreach ($enginetype as $key) { 
    $test .="$items[wsiid] - $items[code] - $items[incvat] - $eng[$key] <br> 
"; 
} 
} while ($items = mysqli_fetch_assoc($itemsq)); 

echo $test; //display test 
+0

排序工作的,然而 該表中的第一行具有1:3:6作爲值&所述第二行具有僅有3 所以行應回聲 engine_Sigma engine_Duratec engine_Crossflow engine_Duratec 而不是它的顯示 engine_Sigma engine_Duratec engine_Crossflow engine_Sigma engine_Duratec engine_Crossflow engine_Duratec engine_Sigma engine_Duratec engine_Crossflow engine_Duratec engine_Sigma engine_Duratec engine_Crossflow 再加上很多在SA中的重複值我行大部分的方式下頁 –

+0

作品! 我有$ test =「」;在錯誤的地方! $ test =「」; foreach($ enginetype as $ key){ $ test。=「$ eng [$ key]」; \t } \t echo $ test。'
'; 正是我想要的,謝謝其他人的幫助 –

0

你必須在範圍外聲明一個變量。類似如下:

$values = []; 
do { 
    $enginetype = explode(":", $items['engineid']); 

    foreach ($enginetype as $key) { 
     $values[] = "$items[wsiid] - $items[code] - $items[incvat] - $eng[$key]"; 
    } 
} while ($items = mysqli_fetch_assoc($itemsq)); 


// Somewhere later 
foreach($values as $value) { 
    // Do stuff. 
}