2

重複の可能性:
PHP の関数によって返される配列にアクセスする

単一のアイテムのデータの配列を返すクラスに関数があります。

public function retrieveItemData($item_id) {

    $stmt   = parent::query("SELECT title FROM `item_main` WHERE `item_id` = $item_id");

    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) :
        $item = array(
            'id' => $item_id,
            'title' => $row['title'],
            'url' => $item_id . '/' .$this->generate_seo_link( $row['title'], '-')
        );
    endwhile;

    return $item;
}

クラスの他の場所では、そのように関数を呼び出します

$this->return .= '<td>' . $this->retrieveItemData($rep['source']) . '</td>';

$this->retrieveItemData($rep['source'])明らかに「配列」を印刷していますが、ここからタイトルキーにアクセスするにはどうすればよいですか?

私が試してみました

$this->retrieveItemData($rep['source'])['title']

$this->retrieveItemData($rep['source'])->title

しかし、運が悪い。

4

2 に答える 2

2
$item_data = $this->retrieveItemData($rep['source']);

$item_data['title'];
于 2012-09-07T15:48:55.823 に答える
1

関数呼び出しでの配列アクセス構文: $this->retrieveItemData($rep['source'])['title']PHP 5.4 までは使用できません。

以前のバージョンでは、トレバーの回答のように一時変数を使用する必要があります。したがって、関数を呼び出すコードを次のように変更する必要があります。

$item_data = $this->retrieveItemData($rep['source']);
$this->return .= '<td>' . $item_data['title'] . '</td>';
于 2012-09-07T16:06:52.210 に答える