Autor Zpráva
quatzael
Profil
Je možné prosím definovat multidimenzionální pole nějak takhle?

$items['cars'] = array("Volvo","BMW","Toyota");

Nebo nějak podobně?
han5vk
Profil
Co tak si to rovno vyskusat?
quatzael
Profil
han5vk:
To já bych to klidně vyzkoušel, ale když to nebude fungovat tak si nebudu jistej, jestli to nefunguje kvůli nějakýmu jinýmu háčku.
A když to pofrčí tak se to třeba nemusí líbit tady odborníkům, kteří mi už zkritizovali podobné pokusy a označili jako prasárny..


Mě to funguje. Ale je to skutečně ok to takhle dělat?
WertriK
Profil
Místní rádoby odborníci potřebují na sebe důležitě ukazovat, tak si z nich nic nedělej.

Piš to takto klidně takto, není to nic proti ničemu.
Tori
Profil
A jak jinak by to ještě šlo?
quatzael
Profil
Tori:
Třeba takhle:

$items = array(
         "cars" => array("Volvo","BMW","Toyota"); 
         );
Tori
Profil
Ale to je trochu něco jiného, ne? Jednou V [#6] definujete hodnotu celé proměnné, podruhé v [#1] jen hodnotu klíče v (už existujícím) poli. edit: oprava, pole nemusí existovat, ale automaticky se přiřazením do klíče vytvoří.
Od PHP 5.4 ještě můžete psát $items['cars'] = ["Volvo", "BMW", "Toyota"]; .. ale bych si s tímhle fakt hlavu nedělala. :-)
quatzael
Profil
Tori:
Cože?? To je opravdu něco jiného? Jestli jo, tak jsem asi pole nějak špatně pochopil..

Jednou definujete hodnotu celé proměnné, podruhé jen hodnotu klíče v (už existujícím) poli.
$items['cars'] - tohle přece není definování celé proměnné..
Tori
Profil
Napsala jsem to v opačném pořadí. Celá proměnná (která před tím nemusí existovat) je [#6].
quatzael
Profil
Tori:
Ok, ale výsledek těchto dvou zápisů bude přece úplně stejnej, ne?
Tori
Profil
quatzael:
To záleží na tom, jestli proměnná $items už před tím existovala a co obsahovala.
edit: Asi jsem spíš měla napsat, ne že to "je" něco jiného (protože v případě, že proměnná $items neexistuje nebo je prázdná, to skutečně vytvoří totéž), ale že to "čtenář kódu pochopí jinak". Kdybych v kódu viděla $pole['klic'] = 'neco';, tak budu automaticky předpokládat, že to pole už bylo někde dřív definované a může obsahovat i jiné prvky.
quatzael
Profil
Tori:
Tohle je mi naprosto jasný.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0