0

写真に関する情報を保存するクラスがあります。私を正直に保つために、パブリックな「ゲッター」と「セッター」がたくさんあります。写真に関するコメントが次のように公開された場合:

$photo->addComment('Blue');

クラスは、次のようにコメントのプライベート配列にコメントを追加する別の関数を呼び出します。

$comments[] = array('comment'=>$new_comment,'time'=>$new_time,'user'=>$new_user);

「青」を印刷する$keyように作成されたばかりの新しいものを決定するための最良の方法は何ですか?echo $comments[$key]['comment'];

4

4 に答える 4

2

これを試して:

$key = sizeof($comments) - 1
于 2012-12-27T22:29:36.403 に答える
2

end関数 ( http://php.net/manual/en/function.end.php )を使用できます。

目標が「青」を出力することである場合、これが最も直接的な解決策です。

echo end($comments)['comment']

注: この例では、PHP 5.4 ( http://www.php.net/archive/2011.php#id2011-06-28-1 ) で導入された配列逆参照を使用しています。

于 2012-12-27T22:31:59.570 に答える
1
end($comments);
$key = key($comments);
于 2012-12-27T22:32:11.540 に答える
0

より正確な方法については、次のようなものが機能する可能性があります。

$keys = array_keys($comments); // get just the keys
$reverse = array_reverse($keys); // reverse order
$lastKey = $keys[0]; // get what is now the first key

インデックス作成のギャップを許容します

于 2012-12-27T22:33:44.397 に答える