Хранение времени в массиве

0

У меня есть код, который хранит значения в массиве. Все это работает, но я также хочу сохранить время добавления каждого значения в массив (как часть массива). В коде хранятся только уникальные значения до четырех.

 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);
}
Теги:
arrays
time

3 ответа

0

Используйте time() чтобы получить время. И сохраните это в нужном массиве.

array_push ($array, time ());

Поскольку вы говорите о "времени, когда они добавляются в массив", возможно, вы имеете в виду микросекунды, которые в этом случае используют microtime()

Обратите внимание, что обе функции не возвращают отформатированную метку времени, вместо этого они возвращают целое число.

Больше time() здесь

Подробнее о microtime() здесь

  • 0
    Извините за мое полное невежество, но где в моем коде я бы добавил array_push?
  • 0
    Вам не нужно специально использовать array_push() но эта функция добавляет его в массив, вы должны добавить время в массив именно там, где вам это нужно. Вы всегда можете прочитать о array_push() здесь
Показать ещё 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

ура

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню