Hi,
ich habe ein zweidimensionales Array, in dessen erstem Array Namen stehen und im zweiten ein dem Namen zugeordnetes Datum.
Ein Name kann aber in dem ersten Array auch mehrmals vorkommen, allerdings mit einem anderen Datum im zweiten Array.
Also z.B.
$test_arr[0][0] = "Max Mustermann";
$test_arr[0][1] = "Anna Mustermann";
$test_arr[0][2] = "Max Mustermann";
Dazu dann
$test_arr[1][0] = "1.2.";
$test_arr[1][1] = "2.2.";
$test_arr[1][2] = "3.2.";
Jetzt will ich aus diesem Array eine Tabelle erstellen, in der in der ersten Spalte der Name steht und in den weiteren Spalten alle zugehörigen Daten.
Ich habe es versucht mit
$name = "Max Mustermann";
echo '<tr><td>'.$name.'</td>';
$pos1 = array_search($name, $test_arr[0]);
if ($pos1!=false) {
echo '<td>'.$test_arr[1][$pos1].'</td>';
$n_arr1 = array_slice($test_arr[0], $pos1+1);
$pos_2 = array_search($name, $n_arr1);
if ($pos_2!=false) {
$pos2=$pos_2+$pos1+1;
echo '<td>'.$test_arr[1][$pos2].'</td>';
$n_arr2 = array_slice($test_arr[0], $pos2+1);
$pos_3 = array_search($name, $n_arr2);
if ($pos_3!=false) {
$pos3=$pos_3+$pos2+1;
echo '<td>'.$test_arr[1][$pos3].'</td>';
$n_arr3 = array_slice($test_arr[0], $pos3+1);
$pos_4 = array_search($name, $n_arr3);
if ($pos_4!=false) {
$pos4=$pos_4+$pos3+1;
echo '<td>'.$test_arr[1][$pos4].'</td>';
} else { echo '<td> </td>'; }
} else { echo '<td> </td>'; }
} else { echo '<td> </td>'; }
} else { echo '<td> </td>'; }
echo '</tr>';
Aber da gibt es doch sicherlich eine sauberere Lösung, oder?
Viele Grüße, Raphael