初学者请教130830

2013-08-29 13:10:12 +08:00
 kennedy32
reset($data); //$data是个数列
$value=current($data);
while($value){
echo $value;
$value=next($data);
}

while后面的$value会返回true么?
2636 次点击
所在节点    PHP
7 条回复
lichao
2013-08-29 13:22:58 +08:00
PHP 是弱类型语言,例如 1 是 true,0 是 false
看你代码中意思,只要 $value 中有值,就 == true。
felix021
2013-08-29 13:23:44 +08:00
那要看$value是什么样的东西。比如说 "0"、0、"" 这些值,那就都是false。所以你这种写法是有问题的。

建议用foreach。
lichao
2013-08-29 13:26:25 +08:00
kennedy32
2013-08-29 13:53:45 +08:00
@felix021
@lichao

书上这么写的,我也觉得费解
felix021
2013-08-29 13:57:47 +08:00
@kennedy32 国人写的技术书普遍不靠谱啊…… p.s. 今天是29号。
thbourlove
2013-08-29 14:03:34 +08:00
reset($data);
while (list($key, $value) = each($data)) {
echo $value;
}
kennedy32
2013-08-29 18:09:29 +08:00
@felix021 PHP AND MYSQL WEB DEVELOPMENT 4TH EDTION

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/80631

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX