Mit folgendem Script möchte ich erreichen, dass bestimmte Tabellen einer Datenbank nicht angezeigt werden. Dazu möchte ich '$arr_tablenames[$i]' mit $array[$ii] vergleichen.
$array = array('reluserhardware', 'rechnerDaten', 'geraete', 'user');
$num_array = count($array);
// Ausgabe aller Tabellen - der in '$array' benannten
Vorneweg: Du solltest Dir als erstes mal angewöhnen, wenn schon nicht für Dich, dann doch wenigstens für die Öffentlichkeit etwas Struktur in Deinen Code zu bringen.
1 $ii = 0;
2 for ($i = 0; $i < $num_tables; $i++)
3 {
4 if ($ii < $num_array)
5 {
6 if ($arr_tablenames[$i] == $array[$ii])
7 {
8 echo $arr_tablenames[$i]," <= verbergen<br>";
9 $ii++;
10 }
11 else
12 {
13 echo $arr_tablenames[$i],"<br>";
14 };
15 };
16 };
..dann wäre Dir vielleicht auch aufgefallen, wo genau $ii eigentlich erhöht wird und warum das nicht passiert. Solange der aktuelle Tabellenname nicht mit dem ersten, nicht auszugebenen Namen übereinstimmt (Zeile 6), wird $ii auch nicht erhöht (Zeile 9).
Du brauchst schon eine zweite Schleife, um den aktuellen Namen mit _allen_ Einträgen der nicht auszugebenden zu vergleichen. Oder, schneller und einfacher, eine Funktion namens in_array(): http://www.php.net/manual/de/function.in-array.php.
Gruß,
soenk.e
PS: Den faux-pas in der Mitte von Zeile 8 lassen wir mal unter den Tisch fallen :)