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 之前是不可能的。

在早期版本中,您必须使用 Trevor 的答案中的临时变量。因此,您需要将调用函数的代码更改为:

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