Php ForLoop回波放置在错误区域 呼叫对话框 # 来电者 到期
因此,上面的代码生成以下输出: 每当我编辑代码以添加Php ForLoop回波放置在错误区域 呼叫对话框 # 来电者 到期,php,Php,因此,上面的代码生成以下输出: 每当我编辑代码以添加$I+1,使最终输出为10时,会出现代码中断,并给出输出: 这是我第一次遇到这个问题。如果你能找出我做错了什么,或者我的html、打印方式等有什么问题,请告诉我。如果您对该问题有任何疑问或对某些问题感到困惑,我将尽力澄清。发生错误的原因是您对1和后面的任何内容的串联求和 很快,这就是您正在做的: <div class="row"> <div class="col-md-12"> <div
$I+1
,使最终输出为10时,会出现代码中断,并给出输出:
这是我第一次遇到这个问题。如果你能找出我做错了什么,或者我的html、打印方式等有什么问题,请告诉我。如果您对该问题有任何疑问或对某些问题感到困惑,我将尽力澄清。发生错误的原因是您对
1
和后面的任何内容的串联求和
很快,这就是您正在做的:
<div class="row">
<div class="col-md-12">
<div class="box">
<div class="box-header">
<h3 class="box-title">Call Dialog</h3>
</div>
<!-- /.box-header -->
<div class="box-body table-responsive no-padding">
<table class="table table-hover">
<tbody>
<tr>
<th>#</th>
<th>Callers</th>
<th>Expiration</th>
</tr>
<?php
$calls = array();
for ($i = 0; $i < 10; $i++) {
$template = "
<tr>
<td>". $i ."</td>
</tr>
";
echo $template;
}
?>
</tbody>
</table>
</div>
<!-- /.box-body -->
</div>
</div>
</div>
这将与以下内容相同:
echo 'a string' . $i + 1 . 'another string';
(不以数字开头的字符串将自动转换为0
。所有其他字符串将被截断为数字。'9a'
将在求和前转换为9
,而'a9'
将转换为0
)
如何解决此问题:
- 使用括号:
将操作括在括号中可避免将其串联
一个基本的例子:
echo 0 + 1;
echo 'Your string has ' . ($length + 1) . ' characters';
- 使用COMA而不是连接:
这将避免任何问题,并将大大加快代码的速度
这是一个已知的微观优化
使用基本示例:
echo 0 + 1;
echo 'Your string has ' . ($length + 1) . ' characters';
使用最适合您的解决方案。请将php和html分开。这很简单,会为你节省很多时间。很好用
echo 'Your string has ', $length + 1, ' characters';
那是因为$i+1。”字符串'==1
@IsmaelMiguel Oh。。oopsies从来不知道连接会产生布尔值。实际上,它不是布尔值。如果您输入+8
,结果将显示8
。第一部分转换为0
,而第二部分转换为1
。和0+1==1
@IsmaelMiguel哦,我明白了。从不知道PHP的全部逻辑。我将尝试做一些研究,以进一步解决类似这样的问题。感谢您的帮助和详细解释。:)不客气。谢谢你接受了答案。你的解决方案显然是有效的,但通常更难阅读。我真的会避免这样。