-2

私は次のクラスを持っています:

<?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 の戻り配列を取得し、それをビュー (クラス オブジェクトからの戻り値) で使用するための最良の方法は何ですか。すべての値をループして新しい配列を作成することもできますが、これは過剰に思えます。

これをもっとよく説明する必要があるかどうか教えてください。

どうも

4

1 に答える 1

0

$this-> の部分が欠けていると思います。したがって、基本的には、メソッドが終了すると消える unapprovedProfilePhotosArray という名前のメソッド内にローカル変数を作成しています。その配列をプロパティに残しておきたい場合は、$this-> を使用する必要があります。これは、そのプロパティにアクセスする適切な方法です。

...
$pds=$users->pdo->prepare($sql); $pds->execute(array()); $rows=$pds->fetchAll();

$this->unapprovedProfilePhotosArray = $rows;

...
于 2013-07-07T04:19:09.310 に答える