WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [php] variablen (http://www.wcm.at/forum/showthread.php?t=144808)

mqs 15.09.2004 13:40

[php] variablen
 
kurz ne frage zu folgendem lehrbeispiel:

PHP-Code:

$var='Inhalt von var';
$name_von_var='var';
echo $
$name_von_var

ok das geht ohne probleme.. jetzt hab ich zB in $var ein array
dann kann ich dieses array theoretisch mit: $$name_von_var[0], $$name_von_var[1] .. usw abrufen oder?
geht aber nicht. er liefert mir keine werte.
ich kann aber zB mit count($$name_von_var) die anzahl der inhalte auslesen, aber die werte selbst erhalte ich leider nicht! woran liegt das?

mqs 15.09.2004 13:44

mit: $var[0]
bekomm ich den wert der im array ist..
aber mit der anderen abfrage ned

jak 15.09.2004 14:28

Probier mal ${$name_von_var}[0]

Jak

mqs 15.09.2004 14:35

jawoll danke! bist ein gott!

jak 15.09.2004 17:23

:D So weit ist es (noch?;)) nicht...
Ich hab' mich nur vor ein paar Tagen mit variablen variablen herumgespielt.
Der Grund warum das erste nicht ging ist, daß es für PHP nicht eindeutig ist, was du meinst, und er daher das [] auf die näheste Variable bezieht. Die geschwungenen Klammern blocken das anders (=richtig) zusammen.
Die Idee hab' ich von
http://at.php.net/manual/de/language...s.variable.php
Da verwenden sie's um variable Variablen in einem String zu benutzen.
<?php
echo "$a ${$a}";
?>
<edit>
Auf der Seite steht sogar die Lösung zu deinem Problem:
Zitat:

Wenn Sie variable Variablen mit Arrays verwenden, müssen Sie eine Doppeldeutigkeit beachten. Wenn Sie nämlich $$a[1] schreiben, dann muss der Parser wissen, ob Sie $a[1] als Variable oder $$a als Variable und dann [1] als Index dieser Variablen verwenden wollen bzw. gemeint haben. Die Syntax zur Lösung dieser Doppeldeutigkeit: Verwenden Sie im ersten Fall ${$a[1]} und im zweiten Fall ${$a}[1].
</edit>

Jak


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag