0

我有一个存储照片信息的类。它有一堆公共的“getter”和“setter”来让我诚实。当像这样公开添加有关照片的评论时:

$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 回答