2014-11-10 3 views
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); 
} 

ответ

0

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

array_push ($array, time()); 

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

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

Подробнее о time()here

Подробнее о microtime()here

+0

Извините мое полное незнание, но где в моем коде я бы добавил array_push? – user3305539

+0

Вам не нужно использовать 'array_push()', но эта функция добавляет его в массив, вы должны добавить время в массив именно там, где вам это нужно. Вы всегда можете прочитать о 'array_push()' [здесь] (http://php.net/manual/en/function.array-push.php) – Vanitas

+0

Просто, чтобы убедиться, что я сделал [этот gist] (https: //gist.github.com/bobdesaunois/fc4bf3e2932caf6e50bf), демонстрирующий использование 'array_push()' – Vanitas

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()); 
Смежные вопросы