Archiv verlassen und diese Seite im Standarddesign anzeigen : [ PHP ] - print $GLOBALS['xy[z]']; soll gehen ^^
d@tenmaulwurf
30-05-2004, 22:16
$xy[z]="blablabla...";
print $GLOBALS['xy[z]'];
das ganze funzt so jetzt leider nicht
-------
Das gleiche In Form von:
$xyz="blablabla...";
print $GLOBALS['xyz'];
funzt perfekt - also kann es nur daran liegen... achja - und "dann mach es doch so!" kann ich als Post grad gar nicht brauchen
THX im voraus,
d@tenmaulwurf
Kurz und knapp:
print $GLOBALS['xy']['z'];
Original geschrieben von Claudine
Geht auch ohne Hochkomma. (in diesem Fall)
print $GLOBALS[xy][z];
Geht, ist aber (wie bei vielem, was bei PHP geht) nicht empfehlenswert... wenn du xy oder z als Konstanten definiert hast geht die Sache nämlich in die Grütze!
Siehe auch hier: http://de2.php.net/manual/de/language.types.array.php -> Array do's und don'ts
Da hast du dir auch ein schlechtes Beispiel ausgedacht!
Was ist damit?
<?php
define(XY,'abc');
$beispiel[XY] = "abc";
$beispiel['XY'] = "XY";
if ($beispiel[XY] <> $beispiel['XY']) {
echo "Tja, dumm gelaufen!<br/> Das ging voll in die (rote) Grütze!";
}
?>
Soviel zum Thema $array[xy] und $array['xy'] ist das selbe!
mehlvogel
03-06-2004, 16:48
Weil in deiner Konstante, die Konstante selber drin steht
NAME => 'name'
würde es so aussehen
NAME => 'Willi'
und du würdest das hier probieren:
$_array[NAME] == $_array['name']
Tja, dann isset dumm gelaufen...
Was ich Programmiert habe?
Ich habe den Beweis erbracht, dass $array[xy] nicht zwangsweise das gleiche Element anspricht wie $array['xy'] und es deshalb (auch laut PHP Manual) empfohlen wird Array Indizes immer explizit in Hochkommas zu schreiben.
Ich vergleiche Strings - tut aber nichts zur Sache...
<> und != bedeuten beide "ungleich" und sind daher äquivalent und typunabhängig!
http://www.php.net/manual/de/language.operators.comparison.php
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.