这是一个业余的问题(如果我忽略了一些非常明显但我一直在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]在类似的配置中对我来说似乎是任意的,似乎无法让我的手指在它上面......
答案 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,这样当你有数千个数组项时,函数不会被调用一千次。