Можно ли использовать array_push в массиве SESSION в php?

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

Это сеанс:

$_SESSION['names'] 

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

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

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

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

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

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

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

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

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

 $_SESSION['names'][] = $name; 

Попробуйте

 if (!isset($_SESSION['names'])) { $_SESSION['names'] = array(); } array_push($_SESSION['names'],$name); 
  $_SESSION['total_elements']=array(); array_push($_SESSION['total_elements'], $_POST["username"]); 

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

 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; } } 
 <?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"; } } ?> 

вывод

Значение: pappu
Значение: 10
Стоимость: tippu
Стоимость: 12