Array Schlüssel an Funktion übergeben
Karsten
- php
Moin!
Ich hoffe mir kann hier jemand helfen. Die große Suchmaschine bringt mich nicht weiter.
Also ich hab eine Funktion die Eingaben aus $_GET "aufbereitet" und die aufbereiteten Daten zwischenspeichert. Wenn die Daten als Array vorliegen, wird die Struktur übernommen.
Also die query ?foobar[foo]=<b>bla</b>&foobar[bar]=blub
wird zu
$_GET['foobar'] = array('foo' = '<b>bla<b>',
'bar' = 'blub');
und dann aufbereitet gespeichert.
class test{
$getdaten = array('foobar' = array('foo' = 'bla',
'bar' = 'blub');
public function getValue($arrKey){
}
}
Mit der Funktion getValue will ich den Wert von 'foo' auslesen.
Ich hab es so
echo test->getValue('foobar[foo]'); // Undefined index: foobar[foo]
und so
$key = 'foo';
echo test->getValue($key['foo']); // Illegal string offset 'foo'
versucht aber das funktioniert nicht.
Wie kann ich der Funktion die Schlüssel der Arrays übergeben damit ich den richtigen Wert zurück bekomme?
Tach!
$getdaten = array('foobar' = array('foo' = 'bla',
'bar' = 'blub');
Mit der Funktion getValue will ich den Wert von 'foo' auslesen.
Ich hab es so
echo test->getValue('foobar[foo]'); // Undefined index: foobar[foo]
und so
$key = 'foo';
echo test->getValue($key['foo']); // Illegal string offset 'foo'
> versucht aber das funktioniert nicht.
> Wie kann ich der Funktion die Schlüssel der Arrays übergeben damit ich den richtigen Wert zurück bekomme?
Du hast nicht nur ein Array sondern ein Array mit einem Array darin vorliegen. Ein Durchgreifen über einen einzelnen Schlüssel ist nicht möglich. Du musst dich da schon schrittweise durchhangeln: $this->getdaten['foobar']['foo']
dedlfix.
Du musst dich da schon schrittweise durchhangeln: $this->getdaten['foobar']['foo']
Nicht sehr befriedigend. Ich hab mir gerade auch überlegt, dass ich das Array auch anders anlegen könnte.
explode('&', $_SERVER['QUERY_STRING']);
Dadurch könnte ich die Schlüssel direkt ansprechen. Aber das wird nur bei GET klappen.
Also wenn ich POST-Daten durch die selbe Klasse schicke, hab ich ja nicht mehr so einen query-string.
Ich werd wohl immer das komplette Array übernehmen müssen. Dank dir!
Du hast nicht nur ein Array sondern ein Array mit einem Array darin vorliegen. Ein Durchgreifen über einen einzelnen Schlüssel ist nicht möglich. Du musst dich da schon schrittweise durchhangeln: $this->getdaten['foobar']['foo']
Ist das aber vielleicht mit einer anderen Sprache als PHP möglich? Und wenn ja, mit welcher?
Tach!
Du hast nicht nur ein Array sondern ein Array mit einem Array darin vorliegen. Ein Durchgreifen über einen einzelnen Schlüssel ist nicht möglich. Du musst dich da schon schrittweise durchhangeln: $this->getdaten['foobar']['foo']
Ist das aber vielleicht mit einer anderen Sprache als PHP möglich? Und wenn ja, mit welcher?
Mir ist keine bekannt, die sich selbständig aus einem (kombinierten) Wert herausfummelt, welcher Teil wo eingesetzt werden soll. Du kannst dir da nur selbst eine Funktion erstellen, die das iterativ oder rekursiv erledigt.
dedlfix.