Guten Abend!
Folgendes: Ich hab in einer Textdatei einen String. Dieser ist hin und wieder mit "|" unterteilt. Das ist jeweils mein Trennzeichen, ich mach mir also ein neues Array:
Jetzt will ich die einzelnen Elemente dieses Arrays nochmals an jedem Leerzeichen in ein eigenes Array unterteilen. Das ganze mache ich mit einer "for- Schleife".
Also so in der Art:
Allerdings funktioniert dass nicht (was wahrscheinlich auch logisch sein dürfte ), ich weiß nur nicht, wie ich es sonst machen soll, Probleme bereitet mir ja folgende Zeile:
Weil wie soll ich sonst eben, wenn man jetzt als Beispiel den ersten Durchgang der äußeren Schleife nimmt dass "innere" Array an einer bestimmten Stelle ansprechen, als mit $arr_Data.$i[$j] (Im ersten Durchgang wäre dass dann ja $arr_Data0[$j] oder?).
Mir ist auch klar, dass sich das $j dann aber auf das $i und nicht auf dass Array selbst bezieht.
Wie macht man dass also?
"eval" hat afaik ja keinen Rückgabewert oder?
btw., mein (bis jetzt) ganzes Script sieht so aus:
Weiter unten wird dann halt noch $table mit "echo" ausgegeben
Aja, und $dataContent enthält, nachdem es zugewiesen wurde folgendes:
(falls dass das Ganze irgendwie beeinflussen könnte)
Ausgegeben bekomme ich dann noch folgendes:
Edit: Mir ist ziemlich klar, dass folgendes nicht funktioniert: $arr_Data.$i[$j], die Frage ist nur, wie macht man es dann?
mfg
schuetz10
Folgendes: Ich hab in einer Textdatei einen String. Dieser ist hin und wieder mit "|" unterteilt. Das ist jeweils mein Trennzeichen, ich mach mir also ein neues Array:
PHP:
$arr_DataContent = split('\|',$dataContent);
Jetzt will ich die einzelnen Elemente dieses Arrays nochmals an jedem Leerzeichen in ein eigenes Array unterteilen. Das ganze mache ich mit einer "for- Schleife".
Also so in der Art:
PHP:
for($i=0;$i<count($arr_DataContent);$i++){
$arr_Data.$i = split(' ',$arr_DataContent[$i]);
$table .= '<tr>';
for($j=0;$j<count($arr_Data.$i);$j++){
$table .= '<td>'.$arr_Data.$i[$j].'</td>';
}
$table .= '</tr>';
}
Allerdings funktioniert dass nicht (was wahrscheinlich auch logisch sein dürfte ), ich weiß nur nicht, wie ich es sonst machen soll, Probleme bereitet mir ja folgende Zeile:
PHP:
$table .= '<td>'.$arr_Data.$i[$j].'</td>';
Weil wie soll ich sonst eben, wenn man jetzt als Beispiel den ersten Durchgang der äußeren Schleife nimmt dass "innere" Array an einer bestimmten Stelle ansprechen, als mit $arr_Data.$i[$j] (Im ersten Durchgang wäre dass dann ja $arr_Data0[$j] oder?).
Mir ist auch klar, dass sich das $j dann aber auf das $i und nicht auf dass Array selbst bezieht.
Wie macht man dass also?
"eval" hat afaik ja keinen Rückgabewert oder?
btw., mein (bis jetzt) ganzes Script sieht so aus:
PHP:
<?php
$dataContent = file_get_contents('data/file_data.txt');
$arr_DataContent = split('\|',$dataContent);
$table = ' <table width="25%" border="1">
<tr class="bold">
<td>Nummer</td>
<td>Name</td>
<td>Vor</td>
<td>Li</td>
<td>Re</td>
</tr>';
for($i=0;$i<count($arr_DataContent);$i++){
$arr_Data.$i = split(' ',$arr_DataContent[$i]);
$table .= '<tr>';
for($j=0;$j<count($arr_Data.$i);$j++){
$table .= '<td>'.$arr_Data.$i[$j].'</td>';
}
$table .= '</tr>';
}
$table .= '</table>';
?>
Weiter unten wird dann halt noch $table mit "echo" ausgegeben
Aja, und $dataContent enthält, nachdem es zugewiesen wurde folgendes:
Code:
1 Karli 0 2 3|2 Fritz 1 4 0|3 Otto 1 5 6|4 Berta 2 8 7|5 Mona 3 0 0|6 Paul 3 0 0|7 Eva 4 0 0|8 Adam 4 0 0
Ausgegeben bekomme ich dann noch folgendes:
Code:
<table width="25%" border="1">
<tr class="bold">
<td>Nummer</td>
<td>Name</td>
<td>Vor</td>
<td>Li</td>
<td>Re</td>
</tr>
<tr>
<td>1</td>
</tr>
</table>
Edit: Mir ist ziemlich klar, dass folgendes nicht funktioniert: $arr_Data.$i[$j], die Frage ist nur, wie macht man es dann?
mfg
schuetz10
Zuletzt bearbeitet: