kurze Frage: Assoziatives Array
Joshua
- php
Hallo!
Ich habe hier folgendes assoziatives Array:
$array = array(
"00" => array("test0.html" => "test0"),
"01" => array("test1.html" => "test1"),
"02" => array("test2.html" => "test2"),
"03" => array("test3.html" => "test3"),
"04" => array("test4.html" => "test4"),
"05" => array("test5.html" => "test5"),
"06" => array("test6.html" => "test6"),
"07" => array("test7.html" => "test7"),
"08" => array("test8.html" => "test8"),
"09" => array("test9.html" => "test9"),
"10" => array("test10.html" => "test10"),
"11" => array("test11.html" => "test11"),
"12" => array("test12.html" => "test12")
);
Ich bekomme jetzt über die URL eine Variable ($c) übergeben, die eine der zweistelligen Ziffern von 00 - 12 enthält. Anhand dieser Ziffer bestimme ich das Element des Arrays, welches mir dann "zerlegt" werden soll. - Und hier komme ich nicht weiter.
Für mein Projekt muss ich nämlich das Array wie folgt zerlegen können:
Element: z.B. 10
Dateiname: test10.html
Titel: test10
Ich sitze anscheinend hier nun schon seit einer geschlagenen halben Stunde und komm einfach nicht weiter. - Kann mir jemand von euch helfen?
Gruss
Joshua
Hallo,
kurze Antwort:
$c =$_GET['c']; // Element: z.B. 10
$name =[link:http://de3.php.net/manual/de/function.current.php@title=current]($array[$c]); // Dateiname: test10.html
$titel=[link:http://de3.php.net/manual/de/function.key.php@title=key]($array[$c]); // Titel: test10
Gruß aus Berlin!
eddi
Ich persönlich notiere "sowas" lieber so:
$Array[10][title]='test10';
$Array[10][filename]='test10.html';
Tommy
hi,
Anhand dieser Ziffer bestimme ich das Element des Arrays, welches mir dann "zerlegt" werden soll. - Und hier komme ich nicht weiter.
Was gibt es da zu "zerlegen"?
Für mein Projekt muss ich nämlich das Array wie folgt zerlegen können:
Element: z.B. 10
Diesen Wert hast du übergeben bekommen.
Dateiname: test10.html
Titel: test10
'test10.html' ist der Schlüssel deines Arrays $array['10'], 'test10' ist der Wert.
Du kannst jetzt z.B. each() benutzen, um diese zu bekommen.
Aber was bezweckst du mit einem Aufbau in der Form
array("test0.html" => "test0")
überhaupt?
Wenn die einen Dateinamen und einen Titel darstellen sollen - wäre dann nicht folgende Form zur Datenablage sinnvoller?
array('dateiname' => 'test0.html', 'titel' => 'test0')
Btw: Mit den "pseudo-nummerischen" Indizes mit führenden Nullen wäre ich vorsichtig - wenn dir da irgendwo mal die automatische Typkonvertierung von PHP dazwischenfunkt, hast du plötzlich Oktalzahlen, und damit höchstvermutlich ein Problem.
gruß,
wahsaga
Hello,
$array = array(
"00" => array("test0.html" => "test0"),
"01" => array("test1.html" => "test1"),
"02" => array("test2.html" => "test2"),
"03" => array("test3.html" => "test3"),
"04" => array("test4.html" => "test4"),
"05" => array("test5.html" => "test5"),
"06" => array("test6.html" => "test6"),
"07" => array("test7.html" => "test7"),
"08" => array("test8.html" => "test8"),
"09" => array("test9.html" => "test9"),
"10" => array("test10.html" => "test10"),
"11" => array("test11.html" => "test11"),
"12" => array("test12.html" => "test12")
);
foreach($array as $key => $val)
{
echo "<b>$key</b> => $val<br />\n";
}
Würde z.B. jedes Element des Arrays behandeln und den Schlüssel und den Wert unter dem Schlüssel anzeigen. Da steht also "nimm jedes Element des Arrays, betrachte es als Wertepaar (hier: $key zeigt auf $val) und mach was damit. Die Variablen namen $key und $val sind frei wählbar.
Ausgabe wäre:
0 Array
1 Array
2 Array
foreach($array as $key => $val)
{
echo "$key, <b>".key($val)."</b> =>". $array[$val]."<br />\n";
}
Oder: (Index bitte einsetzen)
Echo $array[$index]; // gibt "Array" aus
Echo $array[$index][0]; // gibt den Wert des Unterarrays aus (z.B. "test3")
Echo key($array[$index]); // gibt den Schlüssel des Unterarrays aus (z.B. "test3.html")
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
Hello,
$array = array(
"00" => array("test0.html" => "test0"),
"01" => array("test1.html" => "test1"),
"02" => array("test2.html" => "test2"),
"03" => array("test3.html" => "test3"),
"04" => array("test4.html" => "test4"),
"05" => array("test5.html" => "test5"),
"06" => array("test6.html" => "test6"),
"07" => array("test7.html" => "test7"),
"08" => array("test8.html" => "test8"),
"09" => array("test9.html" => "test9"),
"10" => array("test10.html" => "test10"),
"11" => array("test11.html" => "test11"),
"12" => array("test12.html" => "test12")
);foreach($array as $key => $val)
{
echo "<b>$key</b> => $val<br />\n";
}Würde z.B. jedes Element des Arrays behandeln und den Schlüssel und den Wert unter dem Schlüssel anzeigen. Da steht also "nimm jedes Element des Arrays, betrachte es als Wertepaar (hier: $key zeigt auf $val) und mach was damit. Die Variablen namen $key und $val sind frei wählbar.
Ausgabe wäre:
0 Array
1 Array
2 Arrayforeach($array as $key => $val)
{
echo "$key, <b>".key($val)."</b> =>". $array[$val]."<br />\n";
}Oder: (Index bitte einsetzen)
$index = "03";
Echo $array[$index]."<br>"; // gibt "Array" aus
# nee, das gibt einen Fehler...
Echo $array[$index][key($array[$index])]."<br>"; # so müsste es gehen.
Echo key($array[$index])."<br>"; // gibt den Schlüssel des Unterarrays aus (z.B. "test3.html")
Harzliche Grüße vom Berg
http://www.annerschbarrich.deTom
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
$array = array(
"00" => array("test0.html" => "test0"),
"01" => array("test1.html" => "test1"),
"02" => array("test2.html" => "test2"),
"03" => array("test3.html" => "test3"),
"04" => array("test4.html" => "test4"),
"05" => array("test5.html" => "test5"),
"06" => array("test6.html" => "test6"),
"07" => array("test7.html" => "test7"),
"08" => array("test8.html" => "test8"),
"09" => array("test9.html" => "test9"),
"10" => array("test10.html" => "test10"),
"11" => array("test11.html" => "test11"),
"12" => array("test12.html" => "test12")
);
leider auch noch falsch:
foreach($array as $key => $val)
{
echo "$key, <b>".key($val)."</b> =>". $array[$val]."<br />\n";
}
so funktioniert es:
foreach($array as $key => $val)
{
echo "$key, <b>".key($val)."</b> =>". $val[key($val)]."<br />\n";
}
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom