Могу ли я использовать array_push для массива SESSION в php? - PullRequest
11 голосов
/ 11 апреля 2010

У меня есть массив, который я хочу на нескольких страницах, поэтому я сделал его массивом SESSION. Я хочу добавить серию имен и затем на другой странице я хочу использовать цикл foreach для вывода всех имен в этом массиве.

Это сеанс:

$_SESSION['names']

Я хочу добавить серию имен в этот массив, используя array_push, вот так:

array_push($_SESSION['names'],$name);

Я получаю эту ошибку:

array_push () [function.array-push]: Первый аргумент должен быть массивом

Могу ли я использовать array_push для помещения нескольких значений в этот массив? Или, может быть, есть лучший, более эффективный способ сделать то, чего я пытаюсь достичь?

Ответы [ 5 ]

28 голосов
/ 11 апреля 2010

Да, вы можете.Но первым аргументом должен быть массив.

Итак, вы должны сделать это следующим образом

$_SESSION['names'] = array();
array_push($_SESSION['names'],$name);

Лично я никогда не использую array_push, так как не вижу смысла в этой функции.И я просто использую

$_SESSION['names'][] = $name;
12 голосов
/ 11 апреля 2010

Попробуйте с

if (!isset($_SESSION['names'])) {
    $_SESSION['names'] = array();
}
array_push($_SESSION['names'],$name);
1 голос
/ 10 марта 2015
 $_SESSION['total_elements']=array();
 array_push($_SESSION['total_elements'], $_POST["username"]);
0 голосов
/ 18 июня 2013

Попробуйте, это сработает:

session_start();

if(!isset($_POST["submit"]))
{
    $_SESSION["abc"] = array("C", "C++", "JAVA", "C#", "PHP");
}

if(isset($_POST["submit"]))
{
    $aa = $_POST['text1'];

    array_push($_SESSION["abc"], $aa);

    foreach($_SESSION["abc"] as $key => $val)
    { 
        echo $val;
    }
}
0 голосов
/ 14 марта 2013
<?php
session_start();

$_SESSION['data']= array();
$details1=array('pappu','10');
$details2=array('tippu','12');

array_push($_SESSION['data'],$details1);
array_push($_SESSION['data'],$details2);

foreach ($_SESSION['data'] as $eacharray) 
{
 while (list(, $value) = each ($eacharray)) 
    {
        echo "Value: $value<br>\n";
    }
}
?>

выход

Значение: папу
Значение: 10
Значение: типпу
Значение: 12

...