我无法弄清楚这个简单代码有什么问题:
<?php
$arr[0]['name'] = 'foo';
?>
<? foreach ($arr as $v): ?>
<?=$v['name']?>
<? endforeach; ?>
返回:
Notice: Undefined variable: v
有人知道这有什么问题吗?
答案 0 :(得分:3)
请查看原始脚本输出(不是浏览器呈现)。最有可能的是,您尚未启用短标记,并且您的foreach
块甚至无法运行。
相关:PHP tags
答案 1 :(得分:0)
应该是:
<?php
$arr[0]['name'] = 'foo';
?>
<?php foreach ($arr as $v): ?>
<?=$v['name']?>
<?php endforeach; ?>
答案 2 :(得分:0)
您正在查看多维数组。
名称索引之前有一个零索引。在foreach中使用key =&gt;值。
<?php
$arr[0]['name'] = 'foo';
?>
<?php foreach ($arr as $v=>$i): ?>
<?php echo $i['name']; ?>
<?php endforeach; ?>
输出:
foo
答案 3 :(得分:-1)
永远不要使用<?
作为已弃用的<?php
,如果<?=
它可以正常使用{1}},因为它是一个简短的方法。
所以你应该使用:
<?php
$arr[0]['name'] = 'foo';
?>
<?php foreach ($arr as $v): ?>
<?=$v['name']?>
<?php endforeach; ?>