PHP - 组合多个 while 循环的输出
PHP - Combine outputs from multipe while loops
我需要 return 一个单一的结果,它结合了通过多个 WHILE 循环从多个数组创建的语句。
我有四个数组,正在尝试根据条件获得不同的输出。这些数组都由彼此相同的键构成,键对应一个事件。其中一个数组的每个键可能有多个值,如果它包含多个值,则需要检查此特定数组中的值的数量以使用不同的输出结构。
foreach ($closures as $closure) {
//stuff
for ( $i = 0; $i < $count; $i++){
$vcount = count( $locations[$i] );
while ( $vcount < 2 ) {
$result = "The ".$venue[$i]." has been reserved for an <a href=".$eventURLs[$i].">event</a> today from ".$startTime[$i]." - ".$endTime[$i].".<br>";
//print_r($result); //looks good printed...
break;
}
while ($vcount > 1 ) {
$result = "The ".$venue[$i]."s have been reserved for an <a href=".$eventURLs[$i].">event</a> today from ".$startTime[$i]." - ".$endTime[$i].".<br>";
//print_r($result); //looks good printed...
break;
}
}
return $result;
break;
}
我已经尝试了 "break," 的所有组合,当然它给了我不同的输出,但 none 是正确的。
我试过为每个 while 循环($result1 和 $result2)分配不同的变量。
我试过在循环内外用 $result[$i] 替换 $result 。
我试过移动 "return...".
的位置
虽然如图所示使用 print_r 它显示完美,但我不知道如何将这些结果放入单个输出中。
我只能通过我的短代码获得第一个结果输出,并且在尝试将它们组合成如下语句时只能设法获得两个结果(每个循环一个):
$message = "".result1."".result2."";
您可以使用 .= 赋值运算符将结果值相互连接起来
foreach ($closures as $closure) {
//stuff
for ( $i = 0; $i < $count; $i++){
$vcount = count( $locations[$i] );
// initiate the result
$result = "";
while ( $vcount < 2 ) {
// concatinate the value to $result
$result .= "The ".$venue[$i]." has been reserved for an <a href=".$eventURLs[$i].">event</a> today from ".$startTime[$i]." - ".$endTime[$i].".<br>";
//print_r($result); //looks good printed...
break;
}
while ($vcount > 1 ) {
// concatinate the value to $result again
$result .= "The ".$venue[$i]."s have been reserved for an <a href=".$eventURLs[$i].">event</a> today from ".$startTime[$i]." - ".$endTime[$i].".<br>";
//print_r($result); //looks good printed...
break;
}
}
return $result;
break;
}
我需要 return 一个单一的结果,它结合了通过多个 WHILE 循环从多个数组创建的语句。
我有四个数组,正在尝试根据条件获得不同的输出。这些数组都由彼此相同的键构成,键对应一个事件。其中一个数组的每个键可能有多个值,如果它包含多个值,则需要检查此特定数组中的值的数量以使用不同的输出结构。
foreach ($closures as $closure) {
//stuff
for ( $i = 0; $i < $count; $i++){
$vcount = count( $locations[$i] );
while ( $vcount < 2 ) {
$result = "The ".$venue[$i]." has been reserved for an <a href=".$eventURLs[$i].">event</a> today from ".$startTime[$i]." - ".$endTime[$i].".<br>";
//print_r($result); //looks good printed...
break;
}
while ($vcount > 1 ) {
$result = "The ".$venue[$i]."s have been reserved for an <a href=".$eventURLs[$i].">event</a> today from ".$startTime[$i]." - ".$endTime[$i].".<br>";
//print_r($result); //looks good printed...
break;
}
}
return $result;
break;
}
我已经尝试了 "break," 的所有组合,当然它给了我不同的输出,但 none 是正确的。 我试过为每个 while 循环($result1 和 $result2)分配不同的变量。 我试过在循环内外用 $result[$i] 替换 $result 。 我试过移动 "return...".
的位置虽然如图所示使用 print_r 它显示完美,但我不知道如何将这些结果放入单个输出中。
我只能通过我的短代码获得第一个结果输出,并且在尝试将它们组合成如下语句时只能设法获得两个结果(每个循环一个):
$message = "".result1."".result2."";
您可以使用 .= 赋值运算符将结果值相互连接起来
foreach ($closures as $closure) {
//stuff
for ( $i = 0; $i < $count; $i++){
$vcount = count( $locations[$i] );
// initiate the result
$result = "";
while ( $vcount < 2 ) {
// concatinate the value to $result
$result .= "The ".$venue[$i]." has been reserved for an <a href=".$eventURLs[$i].">event</a> today from ".$startTime[$i]." - ".$endTime[$i].".<br>";
//print_r($result); //looks good printed...
break;
}
while ($vcount > 1 ) {
// concatinate the value to $result again
$result .= "The ".$venue[$i]."s have been reserved for an <a href=".$eventURLs[$i].">event</a> today from ".$startTime[$i]." - ".$endTime[$i].".<br>";
//print_r($result); //looks good printed...
break;
}
}
return $result;
break;
}