我有一个名为followers的数组,我想知道如何在PHP中获取数组的objectAtIndex $。
我目前的代码是这样,但它不起作用:
$followers = anArray....
$returns = array();
for ($a = 1; $a <= $numberOfFollowers; $a++) {
$follower = $followers[$a];
echo $follower;
$query = mysql_query("query....");
if (!$query) {}
while ($row = mysql_fetch_assoc($query)) {
}
}
编辑---这就是我得到粉丝的方式:
$followers = array();
while ($row = mysql_fetch_array($querys)) {
$followers[] = $row['followingUserID'];
}
$numberOfFollowers = count($followers);
答案 0 :(得分:1)
为什么不这样做foreach()
?
$followers = array();
$returns = array();
foreach($followers as $index => $follower){
echo $follower;
$query = mysql_query("query....");
if (!$query) {}
while ($row = mysql_fetch_assoc($query)) {
}
}
我不知道你在做什么,但对我来说,这是一个巨大的大炮射向数据库。尝试将您的查询优化为单个查询。永远不要想象数据库会在你的脑海里抓一个循环。
答案 1 :(得分:0)
看起来$followers
的每个元素都是mysql_fetch_assoc()
返回的值。每个元素都是一个关联数组,当你回显它时,我希望看到它作为字符串'Array'
回显,因为这是PHP的通常行为。
需要注意的一点是,当您使用array()
创建一个空数组,然后使用$myarray[] = ...
形式的赋值填充它时,生成的数组将被零索引。也就是说,数组的键将从0开始,而不是从1开始。因此,您需要使用for ($a = 1; $a <= $numberOfFollowers; $a++) {
而不是for ($a = 0; $a < $numberOfFollowers; $a++) {
,或者使用@Shef建议的解决方案并使用{{1 }}
您的问题可能会出现,因为foreach
只包含一个元素,而且由于出现了一个错误,您没有看到任何输出。通过在脚本开头添加此行来启用错误报告:
$followers
如果我使用您当前的代码,那么您应该看到error_reporting(E_ALL & ~E_STRICT);