Felder/Stellen im assoziativen Array über Schleife erstellen?!
Zerko
- php
Mahlzeit,
ich versuche die Stellen eines assoz. Arrays dynm. zur Laufzeit des Scripts mittels einer Schleife zu erstellen.
Leider klappt das nicht weil die Benutzung des " => " bemängelt wird.
Die Fehlermeldung: unexpected T_DOUBLE_ARROW
Der Quellcode:
$acc_testing = array();
for($x=0; $x<count($_POST['inpTesting']); $x++){
array_push($acc_testing, $_POST['inpTesting'][$x] => (($_POST['inpTesting'][$x] != null) ? 1 : 0));
}
Gibt es eine Funktion, welche mir z.B. aus zwei Arrays ein asso. Array macht bzw. diese irgendwie kombiniert?
Evtl. fällt euch noch eine Alternative ein?
Danke und Gruß,
Zerko
Gibt es eine Funktion, welche mir z.B. aus zwei Arrays ein asso. Array macht bzw. diese irgendwie kombiniert?
Evtl. fällt euch noch eine Alternative ein?
$length = count($arr1);
for($i = 0; $i < $length; $i++){
$arr[] = array($arr1[$i], $arr2[$i])
}
Gruß Mike
Hello,
Gibt es eine Funktion, welche mir z.B. aus zwei Arrays ein asso. Array macht bzw. diese irgendwie kombiniert?
Evtl. fällt euch noch eine Alternative ein?
$length = count($arr1);
for($i = 0; $i < $length; $i++){
$arr[] = array($arr1[$i], $arr2[$i])
}
Wenn es assoziative Arrays sind, dann darf man nicht in dieser Weise über die Arrays iterieren, sondern müsste mit each() oder besser mit foreach() arbeiten über eines der beiden:
$\_array3 = array(); ## leeres Zielarray anlegen
foreach($\_array1 as $key => $val)
{
if (isset($\_array2[$key]))
{
$\_array3[$key] = array($\_array2[$key], $\_array3[$key]);
}
else
{
$\_array3[$key] = array($\_array2[$key], false);
}
}
So würde das Array1 abgearbeitet und alle dazugehörigen vorhandenen Elemente aus dem Array2 zusammengeführt mit denen aus Array1 im Zielarray3
Anstelle von "array($\_array2[$key]" könnte man dann auch "$val" schreiben.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Hallöchen,
$acc_testing = array();
for($x=0; $x<count($_POST['inpTesting']); $x++){
array_push($acc_testing, $_POST['inpTesting'][$x] => (($_POST['inpTesting'][$x] != null) ? 1 : 0));
}
>
> Gibt es eine Funktion, welche mir z.B. aus zwei Arrays ein asso. Array macht bzw. diese irgendwie kombiniert?
> Evtl. fällt euch noch eine Alternative ein?
Da müsste auch die direkte Zuweisung eines neuen Array-Elements (ohne array\_push()) innerhalb der Schleife funktionieren:
~~~php
for($x=0; $x<count($_POST['inpTesting']); $x++){
$acc_testing[$_POST['inpTesting'][$x]] = (($_POST['inpTesting'][$x] != null) ? 1 : 0);
}
MfG
vaudi