| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

10-04-2009, 10:52
|
|
Tiese
Newbie
|
|
Registriert seit: Apr 2009
Beiträge: 3
|
|
List :-(
Hallo,
ich habe da mal ein ganz banale Frage.
Warum funktioniert das...
PHP-Code:
$info = array('Kaffee', 'braun', 'Koffein');
// Auflisten aller Variablen
list($drink, $color, $power) = $info;
echo "$drink ist $color und $power macht es zu etwas besonderem.\n";
Aber nicht das...
PHP-Code:
$info = array('Kaffee', 'braun', 'Koffein');
$variblen = "$drink, $color, $power";
// Auflisten aller Variablen
list($variablen) = $info;
echo "$drink ist $color und $power macht es zu etwas besonderem.\n";
Vielen Dank an den, der mir schreibt, wie es mit dem 2. Beispiel funktionieren kann.
Frohe Ostern!
Gruß, Tiese
|

10-04-2009, 11:15
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Beim ersten schreibst du 3 Variablen, beim zweiten nur 1 Variable, die ein String enthält.
var_dump($variablen);
|

10-04-2009, 11:37
|
|
Tiese
Newbie
|
|
Registriert seit: Apr 2009
Beiträge: 3
|
|
Wow, vielen Dank für die super schnelle Antwort!
Nur leider löst das mein Problem nicht :-(
Ich habe folgenden String vorliegen...
PHP-Code:
$variblen = "$drink, $color, $power";
Da dieser sich aber auch ändern kann (Länge und Benennung), möchte ich nicht ständig das...
PHP-Code:
list($drink, $color, $power) = $info;
ändern müssen.
Kann man es irgendwie anstellen, dass der String automatisch in List eingebunden wird?
Vielen lieben Dank für Eure Hilfe.
Gruß, Tiese
|

10-04-2009, 11:46
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
PHP-Code:
$info = array('drink' => 'Kaffee', 'color' => 'braun', 'power' => 'Koffein');
extract($info);
echo "$drink ist $color und $power macht es zu etwas besonderem.\n";
Ich würde an deiner Stelle lieber direkt mit dem Array arbeiten. Es macht fast nie einen Sinn alle Werte aus einem Array in eigene Variablen zu stopfen.
PHP-Code:
$info = array('drink' => 'Kaffee', 'color' => 'braun', 'power' => 'Koffein');
echo $info['drink'] . " ist " . $info['color'] . " und " . $info['power'] . " macht es zu etwas besonderem.\n";
PHP-Code:
$info = array('drink' => 'Kaffee', 'color' => 'braun', 'power' => 'Koffein');
printf("%s ist %s und %s macht es zu etwas besonderem.\n", $info['drink'], $info['color'], $info['power']);
PHP-Code:
$info = array('Kaffee', 'braun', 'Koffein');
vprintf("%s ist %s und %s macht es zu etwas besonderem.\n", $info);
Geändert von h3ll (10-04-2009 um 11:53 Uhr)
|

10-04-2009, 12:03
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 680
|
|
Zitat:
Original geschrieben von Tiese
Ich habe folgenden String vorliegen...
PHP-Code:
$variblen = "$drink, $color, $power";
Da dieser sich aber auch ändern kann (Länge und Benennung), möchte ich nicht ständig das...
PHP-Code:
list($drink, $color, $power) = $info;
ändern müssen.
|
Ich verstehe deine Vorgehensweise (und damit dein Problem) nicht: Wieso fügst du erst drei Variablen (in einem String) zusammen, um sie anschließend wieder exakt in der gleichen Form daraus extrahieren zu wollen?
Zitat:
|
Kann man es irgendwie anstellen, dass der String automatisch in List eingebunden wird?
|
Du hast anscheinend eine etwas verworrende Vorstellung, was list() macht, was ein Array und was ein String ist.
Auch kann explode() dir möglicherweise weiterhelfen.
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|

10-04-2009, 12:45
|
|
Tiese
Newbie
|
|
Registriert seit: Apr 2009
Beiträge: 3
|
|
Danke für Eure Hilfe!
Mein eigentliches Problem ist, dass ich folgendes von einem anderen Server bekomme...
Code:
<id>1</id><kunden_id>12345</kunden_id><brief_des></brief_des>
<rate_id>2</rate_id><account>5</account><c>0</c><nd>04</nd>
<sn>493</sn><dd></dd><nation>0</nation><pre>1</pre>
<ratemodel_name>Test</ratemodel_name><feature_group_id>62</feature_group_id>
<rate_announcement>1</rate_announcement><e_announcement>2</e_announcement>
<e_tree>listing</e_tree><fall>0</fall><level>0</level><error>0</error>
<cli>0</cli><timeout>100</timeout><active>1</active><parallel>1</parallel>
<ip_filter></ip_filter><busy>0</busy><quality></quality>
Jetzt möchte ich eigentlich nur, dass ich mit $id den Wert 1 erhalte, mit $kunden_id den Wert 12345 erhalte, usw.
Ist das irgendwie möglich?
Hier mein Ansatz...
PHP-Code:
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",$daten_vom_Server, $inhalt, PREG_PATTERN_ORDER);
preg_match_all("|<([^>]+)>.*</[^>]+>|U",$daten_vom_Server, $benennung, PREG_PATTERN_ORDER);
Nun wollte ich eigentlich nur den $inhalt mit der entsprechenden $benennung mit list(); kombinieren.
So kann ich mit den Variablen mit $benennung arbeiten.
Danke für Eure Hilfe.
Gruß, Tiese
|

10-04-2009, 12:46
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Vermutlich soll das ein Template Engine o.ä. werden....
Edit:
Ne, doch nicht.
Also ein xml Parser.....
Dann verwende doch auch einen...
http://de.php.net/manual/de/refs.xml.php
Geändert von combie (10-04-2009 um 12:49 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|