1

list()がない場合、私のスクリプトは機能しません。

list($contact->contact) = $contact->contactArray();

list()をクラスに挿入したいので、これを使用したくないので、配列を使用する必要がありますが、このコードをクラスに書き込むと、次の情報が得られます。

解析エラー:構文エラー、予期しないT_LIST、T_VARIABLEが必要です

クラスの私の部分:

  public $contact;
  list($contact) = $this->contactArray();

  public function contactArray()
  {

    $query = mysql_query("SELECT `contact_id`, `contact_name`, `contact_surname`, `group_id`, `contact_telephone`, `contact_email` FROM `contact` ORDER BY `contact_surname` ASC") or die(mysql_error());

    while($row = mysql_fetch_array($query))
    {
      $contact[$row["contact_id"]] = array(
        "name" => $row["contact_name"],
        "surname" => $row["contact_surname"],
        "group_id" => $row["group_id"],
        "telephone" => $row["contact_telephone"],
        "email" => $row["contact_email"]
      );
    }

    return array($contact);

  }
4

1 に答える 1

2

クラス宣言内で許可されるのは、定数、変数、およびメソッドのみです。ただし、このコードをコンストラクター内に配置することはできます。

  // ...

  public $contact;

  public function __construct()
  {
      list($this->contact) = $this->contactArray();
  }
于 2013-02-09T07:10:59.487 に答える