在阵列中存储时间

时间:2014-11-10 16:46:02

标签: php arrays time

我有一些代码可以在数组中存储值。这一切似乎都有效,但我也想存储每个值添加到数组的时间(作为数组的一部分)代码只存储唯一值,最多只能存储四个。

 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);
}

3 个答案:

答案 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());