2010-04-11 4 views
10

여러 페이지에 원하는 배열이 있으므로 세션 배열을 만들었습니다. 일련의 이름을 추가하고 다른 페이지에 추가하려면 foreach 루프를 사용하여 해당 배열의 모든 이름을 반향시킬 수 있기를 원합니다.PHP에서 SESSION 배열에 대해 array_push를 사용할 수 있습니까?

array_push() [function.array-push]: First argument should be an array

:이 오류를 얻고있다

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

을 :

$_SESSION['names'] 

내가 같이 array_push 사용하여 해당 배열 이름의 시리즈를 추가 할 :

는 세션

array_push를 사용하여 배열에 여러 값을 넣을 수 있습니까? 아니면 제가 성취하고자하는 일을 더 효율적이고 효과적으로 수행 할 수있는 방법이 있을까요?

답변

25

예, 가능합니다. 그러나 첫 번째 인수는 배열이어야합니다.

그래서, 당신은 그것을 나는이 기능에 어떤 의미를 볼 수 없기 때문에

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

는 개인적으로 내가 array_push 사용하지 않습니다이 방법을 수행해야합니다. 그리고 난 그냥

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

대단한 의견을 보내 주셔서 감사합니다! – zeckdude

+0

감사합니다! 이것은 나를 잠시 동안 곤란하게했다. – xbonez

+0

그리고 항상 기억하십시오 session_start(); !!!!! – Mikeys4u

12

이 시도

if (!isset($_SESSION['names'])) { 
    $_SESSION['names'] = array(); 
} 
array_push($_SESSION['names'],$name); 
+0

도움을 주셔서 감사합니다. – zeckdude

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

출력

Value: pappu
Value: 10
Value: tippu
Value: 12

0

과 시도를 사용, 작동 것 :

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; 
    } 
} 
1
$_SESSION['total_elements']=array(); 
array_push($_SESSION['total_elements'], $_POST["username"]); 
+3

이 코드 단편은 질문을 해결할 수 있지만, [설명 포함] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)은 게시물의 품질을 향상시키는 데 정말로 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. – Bono

관련 문제