web-dev-qa-db-ja.com

PHPのSESSION配列でarray_Pushを使用できますか?

複数のページに必要な配列があるので、それをSESSION配列にしました。一連の名前を追加してから、別のページでforeachループを使用して、その配列内のすべての名前をエコーアウトできるようにします。

これはセッションです:

$_SESSION['names']

次のようにarray_Pushを使用して、その配列に一連の名前を追加したいと思います。

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

このエラーが発生します:

array_Push()[function.array-Push]:最初の引数は配列である必要があります

Array_Pushを使用して、その配列に複数の値を入れることはできますか?それとも、私が達成しようとしていることを実行するためのより良い、より効率的な方法がありますか?

12
zeckdude

はい、できます。ただし、最初の引数は配列である必要があります。

だから、あなたはそれをこのようにしなければなりません

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

個人的には、この関数に意味がないため、array_Pushを使用することはありません。そして私はただ使う

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

で試してみてください

if (!isset($_SESSION['names'])) {
    $_SESSION['names'] = array();
}
array_Push($_SESSION['names'],$name);
12
hsz
 $_SESSION['total_elements']=array();
 array_Push($_SESSION['total_elements'], $_POST["username"]);
1
Ravi Mane

これを試してください、それはうまくいくでしょう:

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
Ajay Jaiswal
<?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
値:tippu
値:12

0
internals-in