PHP循环中使用串联赋值运算符后输出累加如何获取单次结果
问题原因
你使用的串联赋值运算符.=会在原有变量值的基础上追加新内容,而你将$output的初始化放在了循环外部,循环过程中没有清空该变量的原有值,因此每次循环的拼接结果都会和之前的内容累加。
解决方案
只需要在每次循环的起始位置将$output重置为空字符串即可,修改后的代码如下:
<!DOCTYPE html> <html> <body> <?php $number = ""; $start = 0; $end = 5; $array = array(); while($start <= $end) { // 每次循环开始先重置$output为空 $output = ""; $number = $start+=1; $output .= "1"; $output .= "2"; $array [] = $output; } echo json_encode(array ( 'output'=>$array, )); ?> </body> </html>
修改后运行即可得到你预期的输出:
{"output":["12","12","12","12","12","12"]}
内容的提问来源于stack exchange,提问作者Grzes
相关产品推荐
相关产品推荐

