2011-06-05 115 views
1

我有一个数组,名为$worker
该数组仅由字符串组成,每个字符串都有多行。var_dump显示文本,但回显不是

,如果我做

var_dump($worker); 

它会显示所有信息,但做

for($i=0,$size=sizeof($worker);$i<$size;++$i) 
{ 
    echo $worker[i]; 
} 

我最终没有在页面上。

我很新的PHP,所以对不起,如果这是一个noob问题: 我如何获得数组中的信息,以正确地打印到屏幕上?

+2

你可能只是忘了'$'在'我'在'$ worker [i]'中。 – Gumbo 2011-06-05 19:39:04

+1

在您的开发环境中启用屏幕显示警告,您会立即注意到这些错误。 – Matthew 2011-06-05 19:57:28

回答

0

您忘记了我之前的美元符号$worker[$i]

CNC中:删除了第二部分,也许我太累了:)

+3

第二部分是废话,因为没有使用它的回报价值。 – Gumbo 2011-06-05 19:43:24

3
for($i=0,$size=count($worker);$i<$size;++$i) 
{ 
echo $worker[$i]; 
} 

你忘了 '$' 廉政回声$工人[$ i];

+0

啊!谢谢,即时通讯习惯于C++,而不必发送垃圾邮件。 – motsu35 2011-06-05 19:43:47

+0

@motsu:来自C++,你会发现PHP是天堂。 – dynamic 2011-06-05 19:47:59

5

您在for循环中错过了'$ i'变量的'$'。

这是一个好主意,打开错误报告而在PHP开发: http://php.net/manual/en/function.error-reporting.php

这是for循环在PHP中的常规语法:

for ($i=0, $c=count($worker); $i<$c; $i++) { 
    echo $worker[$i]; 
} 
+1

关于丢失$实际出错的更多细节。当PHP看到'$ worker [i]'时,它认为'i'是一个空字符串而不是一个变量。由于没有常数名为'i',它会将'i'转换为字符串并尝试访问'$ worker ['i']',因为PHP数组像联合数组一样工作。由于'$ worker ['i']'没有被设置,它返回'null'。 'echo null'打印一个空字符串。另外,由于PHP中的代码@asdf指出,习惯上使用'count'而不是'sizeof','sizeof'只是'count'的别名。 – 2011-06-05 20:34:22

相关问题