我有以下课程:
<?php
class photos_profile {
// Display UnApproved Profile Photos
public $unapprovedProfilePhotosArray = array();
public function displayUnapprovedProfilePhotos() {
$users = new database('users');
$sql='SELECT userid,profile_domainname,photo_name FROM login WHERE photo_verified=0 AND photo_name IS NOT NULL LIMIT 100;';
$pds=$users->pdo->prepare($sql); $pds->execute(array()); $rows=$pds->fetchAll();
$unapprovedProfilePhotosArray = $rows;
echo 'inside the class now....';
foreach($rows as $row) {
echo $row['userid'];
}
}
}
我可以从foreach循环中成功显示数据。
这是一个如下调用的类,希望能够在显示/视图代码中使用该数组。这就是为什么我添加了“$ unapprovedProfilePhotosArray = $ rows;”但它不起作用。
$photos_profile = new photos_profile;
$photos_profile->displayUnapprovedProfilePhotos();
<?php
foreach($photos_profile->unapprovedProfilePhotosArray as $row) {
//print_r($photos_profile->unapprovedProfilePhotosArray);
echo $row['userid'];
}
?>
对于我来说,获取PHP PDO返回数组并在视图中使用它的最佳方法是什么(从类对象返回)。我可以循环遍历所有值并填充一个新数组,但这似乎过多了。
让我知道我是否应该更好地解释这一点。
THX
答案 0 :(得分:0)
我认为你错过了$ this-&gt;部分。所以基本上你在名为unapprovedProfilePhotosArray的方法中创建一个局部变量,当方法完成时它会消失。如果您希望该数组保留在属性中,那么您应该使用$ this-&gt;,这是访问该属性的正确方法。
...
$pds=$users->pdo->prepare($sql); $pds->execute(array()); $rows=$pds->fetchAll();
$this->unapprovedProfilePhotosArray = $rows;
...