Php 多数组迭代
嗨,我有一个功能是:Php 多数组迭代,php,arrays,Php,Arrays,嗨,我有一个功能是: public function getpopularAction() { $businessReviewMapper = new Application_Model_Mapper_BusinessReviewsMapper(); $result = $businessReviewMapper->getTotalPopular(); for ($i = 0; $i < count($result); $i++) {
public function getpopularAction()
{
$businessReviewMapper = new Application_Model_Mapper_BusinessReviewsMapper();
$result = $businessReviewMapper->getTotalPopular();
for ($i = 0; $i < count($result); $i++)
{
$rotd[$i] = $businessReviewMapper->getROTD($result[$i]['review_id']);
for ($j = 0; $j < count($rotd); $j++)
{
$rotd[$j]['u_img'] = $this->view->getLoginUserImage(
$rotd[$j]['social_id'], $rotd[$j]['login_type'], null, null, large
);
}
}
print_r($rotd);
exit;
}
我不知道问题出在哪里,但u_img没有正确获取,不确定数组循环是否正确执行。不确定内部循环的用途。如果您试图检索与每个rotd对应的loginuserimage,则需要执行以下操作:
for ($i = 0; $i < count($result); $i++)
{
$rotd[$i] = $businessReviewMapper->getROTD($result[$i]['review_id']);
$rotd[$i]['u_img'] = $this->view->getLoginUserImage(
$rotd[$i]['social_id'],$rotd[$i]['login_type'],null,null,large);
}
for($i=0;$igetROTD($result[$i]['review_id']);
$rotd[$i]['u_img']=$this->view->getLoginUserImage(
$rotd[$i]['social\u id'],$rotd[$i]['login\u type'],null,null,large);
}
通过查看输出,您的结果位于数组的第二层,这意味着您应该在
$rotd[$i]['social_id'],$rotd[$i]['login_type']
到
将PHP错误警告和通知启用到最高级别。然后跟踪PHP错误日志记录(或输出,如果您已启用它)。从代码看,在读取
$rotd[$j]['social\u id']
和$rotd[$j]['login\u type']
时,似乎有一个未定义的索引。在这里的逻辑中执行您自己的错误检查也可能有用(“image\u not\u found.png”看起来像一条“错误”消息)发布相关代码,尤其是getLoginUserImage和getROTD。getROTD函数是否返回具有正确值的数组?
$rotd[$i]['social_id'],$rotd[$i]['login_type']
$rotd[$i][0]['social_id'],$rotd[$i][0]['login_type']