0 html php foreach html5 notice
编辑:我在这些例子中使用wamp.
在foreach中必须有一些我没有想到的关于PHP和HTML替代语法的东西.
以下代码导致
注意:未定义的变量:第8行的index.php中的array1Value
注意:未定义的变量:第12行的index.php中的array2Value
1: <?php
2: $array1 = getArray1(); // Returns an array with values
3: $array2 = getArray2(); // Also returns an array with values
4: ?>
5:
6: <div class="doNotRemoveDiv">
7: <? foreach($array1 as $array1Value): ?>
8: <?= $array1Value ?>
9: <? endforeach; ?>
10:
11: <? foreach($array2 as $array2Value): ?>
12: <?= $array2Value ?>
13: <? endforeach; ?>
14: </div>
Run Code Online (Sandbox Code Playgroud)
我也试过了
$array1 = ['value1', 'value2', 'value3'];
$array2 = ['value1', 'value2', 'value3'];
Run Code Online (Sandbox Code Playgroud)
这里肯定有一些非常明显的东西,我只是愚蠢.
PS我知道我可以这样做:
6: <div class="doNotRemoveDiv">
7: <?php foreach($array1 as $array1Value) {
8: echo $array1Value;
9: } ?>
10: </div>
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我真的想了解为什么我的例子不起作用.
你每个只收到一个警告,对吧?
那是因为你的循环实际上没有执行 - 因为你<?只使用了你的foreach语句,如果short_open_tags关闭了,这意味着你的循环语句根本不执行 - 所以变量不是首先设置的.但是,然后你尝试使用它们输出它们<?=,无论前面提到的设置如何都可以.
(并且在你修复之后,你仍会得到第二个循环的警告,因为在foreach你使用$array2Value大写字母的语句中V,但是在循环中$array2value使用小写字母v.)
| 归档时间: |
|
| 查看次数: |
471 次 |
| 最近记录: |