Ben php bir OTURUM dizisinde array_push kullanabilir miyim?

4 Cevap php

Ben birden fazla sayfa üzerinde istediğiniz bir dizi var, bu yüzden bir OTURUM dizi yaptı. Ben isimleri bir dizi eklemek istiyorum ve daha sonra başka bir sayfada, ben bu dizideki tüm isimlerini yankı bir foreach döngü kullanmak mümkün olmak istiyorum.

Bu oturumu:

$_SESSION['names']

Ben böyle array_push kullanarak bu diziye isimleri bir dizi eklemek istiyorum:

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

Ben bu hatayı alıyorum:

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

Ben bu diziye birden değerler koymak için array_push kullanabilir miyim? Ya da belki de elde etmek ne çalışıyorum yapmanın daha iyi, daha etkili bir yolu var mı?

4 Cevap

Evet, yapabilirsiniz. Ama İlk bağımsız değişken bir dizi olmalıdır.

Yani, bunu bu şekilde yapmak gerekir

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

Ben bu işlevi hiçbir anlam görmek gibi Şahsen ben array_pus asla kullanmayın. Ve ben sadece kullanmak

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

Ile deneyin

if (!isset($_SESSION['names'])) {
    $_SESSION['names'] = array();
}
array_push($_SESSION['names'],$name);
<?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";
}
}

>

output

Değer:
pappu Değer: 10
Değer:
Tippu Değer: 12

Bu deneyin, işe gidiyor:

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