请教一个小问题

Graciayeting 2009-08-14 10:19:49
var $RankDic = Array();

$dicfile = dirname(__FILE__)."/data.dat";
$fp = fopen($dicfile,'r');
while($line = fgets($fp,64)){
$ws = explode(' ',$line);
$this->RankDic[strlen($ws[0])][$ws[0]] = $ws[1];
/*这里RankDic[strlen($ws[0])][$ws[0]]表示什么意思,如果RankDic是一个二维数组的话 RankDic[strlen($ws[0])]可以理解,但是RankDic[strlen($ws[0])][$ws[0]]就不知道是什么意思了,求高人指点一二。*/
}
fclose($fp);


$slen = strlen($okWord);

$this->RankDic[$slen][$okWord];这句是什么意思,取得的值是什么?

dat文件里的数据格式如下
少年 4356
神奇 1381
…………
即前面一个词,然后一个空格,后面跟一个数字
我的理解是这样的:
以dat文件第一行为例
$ws = explode(' ',$line);这一句执行的结果是$ws[0] = '少年'; $ws[1] = 4356;

$this->RankDic[strlen($ws[0])][$ws[0]] = $ws[1]; 即
$this->RankDic[4)][少年] = 4356;这一句无法理解。

小菜鸟不懂php,有说错的不要笑,还望高人指点一下。



...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Graciayeting 2009-08-14
  • 打赏
  • 举报
回复
php 中 Array索引可以是 字符串

自己找到答案了
江南昆虫 2009-08-14
  • 打赏
  • 举报
回复
二维数组,用strlen($ws[0])将$ws[0]以字符长度进行分组,大概是为了对dat的输出结果进行重新排序吧。
例如:

魔 1234
神 2345
神奇 1235
很神奇 3543

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧