将多个数组值分配给变量

Assigning multiple array values to variable

好的我有这个

 $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 循环中显示的所有值分配给单个变量 $test,然后我可以在以后回显它

过去一个小时我一直在努力,快要敲键盘了。 任何帮助都会很棒。谢谢

** 已添加 **

因此数据库查询将为 table 中的第 1 行 return 值,例如 1:3:6 这意味着它应该回显 engine_Sigma engine_Duratec engine_Crossflow

table 中的第 2 行具有值 2,因此只会回显 engine_K-Series

table 中的第 3 行具有值 1:2:5:6,它将回显 engine_Sigma engine_K-Series engine_Vauxhall engine_Crossflow 希望能更好地解释它 我希望将值分配给以后可以使用的变量,而不仅仅是简单地在 foreach

中回显代码

我也希望它像 $var = "engine_Sigma engine_K-Series engine_Vauxhall engine_Crossflow"

试试这个

$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

您必须在作用域外声明一个变量。类似于以下内容:

$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.
}