注册 登录
编程论坛 PHP技术论坛

使用for循环读取数组

czg123698741 发布于 2010-04-29 22:51, 1346 次点击
大家好,请问一下:
<?php
$myArr=array('加班','dfs','防盗锁','123','有','w','看看');    //定义数组
echo strlen($myArr);    //打印出数组的长度。但是我不明白的是数组的长度明明是7个,为什么算出来结果只有5个呢?
echo "<p>";
for($i=0;$i<strlen($myArr);$i++)
{
    echo $myArr[$i].' ';    //也因为是这样,使用for循环出来的结果只能是:加班 dfs 防盗锁 123 有 。结果并没有输出'w'和'看看',这两个数组元素!请问为什么啊?

}
?>
8 回复
#2
czg1236987412010-05-03 20:55
请问有人知道吗???????、
#3
cnenc2010-05-04 15:07
可以使用
foreach()
#4
笨笨林2010-05-04 15:32
计算数组的长度用
count($array);
strlen是计算字符串的长度的。
还有,数据循环最好用foreach。效率会高很多。
foreach($array as $value){
   //代码
}
#5
czg1236987412010-05-04 16:20
我也知道,但是我想搞清楚,为什么使用strlen()计算数组长度,无论数组的大或小,都是输出 5 ?????
#6
cnenc2010-05-05 15:27
请问你是什么版本的的 PHP
我的PHP是 5.3.2
strlen($array) 是,警告:
Warning: strlen() expects parameter 1 to be string, array given in xx.php

var_dump(strlen($array));
输出的是  NULL


并不是你所说的 "5"
#7
czg1236987412010-05-05 17:49
回复 6楼 cnenc
我使用的是PHP5,
只有本站会员才能查看附件,请 登录
#8
cnenc2010-05-05 23:25
ini_set('display_errors', 1);
error_reporting(-1);

看看有没有警告.
#9
czg1236987412010-05-06 16:48
回复 8楼 cnenc
没有警告也没有任何东西输出
1