我有一些代码可以在数组中存储值。这一切似乎都有效,但我也想存储每个值添加到数组的时间(作为数组的一部分)代码只存储唯一值,最多只能存储四个。
function getBand() {
$band_name=$_GET['band_name'];
return $band_name;
}
$pages=$_SESSION['pages'];
if(in_array($_GET['band_name'], $pages)) {
echo"Already in Array";
} else {
if (empty($_SESSION['pages']))
$_SESSION['pages'] = array();
$_SESSION['pages'][] = getBand();
$_SESSION['pages'] = array_slice($_SESSION['pages'], -4);
}
答案 0 :(得分:0)
使用time ()
获取时间。
并将其存储在所需的数组中。
array_push ($array, time ());
因为您正在谈论"他们被添加到阵列的时间"它可能是指微秒,在这种情况下使用microtime ()
请注意,这两个函数都不会返回格式化的时间戳,而是返回一个整数。
有关time ()
here
有关microtime ()
here
答案 1 :(得分:0)
也许这样的事情可以完成这项工作:
$test = "Metallica";
$test2 = "The Black Keys";
$arr['pages'][$test] = $test;
$arr['pages'][$test] = date("D M d, Y G:i");
$arr['pages'][$test2] = $test;
$arr['pages'][$test2] = date("D M d, Y G:i");
echo '<pre>'.print_r($arr, true).'</pre>';
对于日期格式,您可以看到 - http://php.net/manual/bg/function.date.php
干杯
答案 2 :(得分:0)
class SessionManager
{
protected static $pages = null;
protected static $maxPages = 4;
public function __construct($session) {
self::$pages = $session['pages'];
}
public static function addPage($pageName) {
self::$pages[$pageName] = array(
'name' => $pageName,
'created' => date('Y-m-d h:i:s')
);
self::$pages = array_slice(self::$pages, -1 * $maxPages);
}
public static function writeSession(&$session) {
$session['pages'] = self::$pages;
}
public static function getPages() {
return self::$pages;
}
}
session_start();
$session = new SessionManager($_SESSION);
$session->addPage($_GET['band_name']);
$session->writeSession($_SESSION);
print_pre($session->getPages());