PHP currentarray数量和含义

时间:2013-02-12 16:18:47

标签: php arrays

这是一个业余的问题(如果我忽略了一些非常明显但我一直在PHP.net上寻找一些线索,但还没有想出来的话,请提前道歉),即时解密其他人为朋友做的这段代码网站和那种迷路了。

代码正在做的是为数据库创建一个数组,然后该站点根据时间戳和排序调用信息。出于某种原因,有些事情没有出现,所以我只是试图了解它:

$TYPES_EXPO = array("Type1","Type2","Type3","Type4","Type5","Type6","Type7");

$currentarray = $debe->runSql("SELECT * FROM expositions WHERE from<='$nu' AND to>='$nu' ORDER BY from");

if(count($currentarray)>0)
    echo "<h1>Current Exhibitions</h1>";

for($i=0; $i<count($currentarray);$i++)
{
    echo "<b>" . $currentarray[$i][3] . "</b>";

所以在最后一行,[3]引用是什么?在代码的其他部分有更多的东西,不同的整数如[6]和[7]在类似的配置中对我来说似乎是任意的,似乎无法让我的手指在它上面......

2 个答案:

答案 0 :(得分:1)

我怀疑调用$debe->runSql正在返回一组记录。 [3]是回报中的第3列。

有可能是数据库表中的第三列。但是对于SELECT * FROM,不能保证第三列是相同的。您需要将其更改为SELECT first, second, third FROM

同样,这假设$debe->runSql返回的内容类似于http://php.net/manual/en/function.mysql-fetch-row.php

答案 1 :(得分:0)

3引用了多维数组$currentarray中的第4个元素(0是第一个元素)。

例如,你有一个数组$person

mike
    male
    blue
    75
    31
jack
    male
    brown
    80
    21

$person[1][3]将引用整数21。

我希望这会有所帮助:)

//编辑:就像提示一样,不要在foreach中使用count()。分配变量vefore,这样当你有数千个数组项时,函数不会被调用一千次。