Jump to content
  • 0

pomoc Array (pole)


ForestCZE

Dotaz

Ahoj :) mám tento kód:

 

<?php
session_start();
$_SESSION["mp"] = array();

$_SESSION["mp"][0] = 28;

echo $_SESSION["mp"][0];
?>

 

Je to pouze testovací - tak trochu si hraju :)

 

Nastavím si proměnnou v nultém indexu pole na číslo 28

 

$_SESSION["mp"][0] = 28;

 

A v pohodě mi echo vypíše 28. Pak když ten řádek smažu, jakože už tam to číslo je a obnovím stránku, tak se to tváří, že v tom nultém indexu nic není :( Předpokládám, že to bude kvůli řádku

 

$_SESSION["mp"] = array();

 

protože se po znovunačtení stránky nastaví nové pole ;) .. ale kde je pak ten háček? Jak to udělat tak, aby se to pole vytvořilo jen jednou? Díky za pomoc ;)

Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0

Adrian, to sice bude fungovat, ale je to zbytecne slozite.

 

Je jen minimum pripadu, kdy je potreba predinicializovat pole. PHP je dynamicky typovy jazyk, takze kdyz napises

<?php
$foo["bar"][8][2]["74"] = "test";

 

bez jakekoliv predchozi inicializace, bude to fungovat. To ovsem neplati pri ziskavani - kdyz neexistuje hodnota pod danym klicem, vyhodi to upozorneni (E_NOTICE) undefined index.

 

Tvuj priklad by tedy mel vypadat

 

<?php
session_start();
$_SESSION["mp"][0] = 28;
echo $_SESSION["mp"][0];

 

A pri ziskavani na miste, kde si nejsi jisty, ze hodnota bude existovat, by jsi pouzil

<?php
if(isset($_SESSION["mp"][0])) echo $_SESSION["mp"][0];
else echo "Session neni definovana":

// nebo kratce
echo (isset($_SESSION["mp"][0]) ? $_SESSION["mp"][0] : "Session neni definovana");

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...