2

逆参照を使用するこのコード行でエラーが発生しました。

   $data['data'] = $results->result()[0];

(PHP 5.4 で PHP の学習を開始しました。) 5.3 の方法で逆参照するにはどうすればよいですか?

ドキュメントを確認しました:

function getArray() {
    return array(1, 2, 3);
}

// on PHP 5.4
$secondElement = getArray()[1];

// before PHP 5.4
$tmp = getArray();
$secondElement = $tmp[1];

// or
list(, $secondElement) = getArray();

しかし、メソッド呼び出しを作成するのは面倒に思えます

4

2 に答える 2

1

list() はあなたが望むものです。それは永遠に存在しており、右側の値に整数キーでアクセスできると仮定するとうまく機能します。

<?php
list(, $one, , $three) = range(0, 4);

list() は (foreach のように) キーを反復処理しませんが、スロット位置 (0、1、...) によって直接整数キーにアクセスすることに注意してください。これらのキーが存在しない場合は、通知が表示され、値が null に設定されます。

于 2013-06-24T01:03:21.137 に答える
1
$res = $results->result();
$data['data'] = $res[0];

または、再代入を使用できます (一時変数の必要性を避けるため):

$data['data'] = $results->result();
$data['data'] = $data['data'][0];
于 2013-02-05T16:03:32.373 に答える