Ich habe mir Deinen Code im ersten Beitrag mal angesehen und frage mich, wieso Du zwei Arrays initiierst? Mit db_fetch_assoc wird das erste Array erstellt und im Nachhinein lädst Du die Daten noch mal in ein weiteres Array ($loc). $loc ist hier demnach total überflüssig und kann somit 'gelöscht' werden. Anstelle von $loc kannst Du schreiben:
$this->bbcode_second_pass_code('', 'output($rowloc['name'].'`n');')
Bitte beachte, dass Du den Wert innerhalb der eckigen Klammern immer mit Single-Quotes versiehst, da im Hintergrund somit ein Fehler definiert wird der durch error_report allerdings nicht sichtbar ist.
Desweiteren kann dein Array auch gar nichts ausgeben, da Du dem Array-Index jeweils eine Zahl zuweißt, diesen aber mit dem entsprechendem 'loc' auslesen willst.
$this->bbcode_second_pass_code('', '$loc[$ic] = $rowloc[name];')
-
$this->bbcode_second_pass_code('', 'output("".$loc[$row['loc']]."");')
$row['loc'] müsste hier der entsprechende numerische Wert des Indexes sein. (1,2,3,4.. etc.)
Da Du die Anzahl der Indexe allerdings nicht aus der Luft greifen kannst, empfiehlt es sich hier die Funktion 'count' zu benutzen. (Wie der Name schon verrät, zählt (Counter) die Funktion count die Elemente eines Arrays.)
$this->bbcode_second_pass_code('', '$arr = array( 0 => 'ANPERA', 1 => 'Dragonprime', 2 => 'LotGD', 3 => 'Alice'); # Dein Chatbot ist nicht in Vergessenheit geraten, Anp.
$myCounter = count($arr);
echo $myCounter; # Oder echo count($arr);')
Ausgabe wäre 4. Da wir das Array aber mit einer null begonnen haben und die Werte auch ausgeben wollen, ziehen wir immer einen bestimmten Wert von den numerischen Indexen ab.
(Benutze oben genanntes Beispiel.)
$this->bbcode_second_pass_code('', '$i = 0;
for( $i = 0; $i < $myCounter; $i++ ){
echo $arr[$i-1].'<br />';
}')
Alternativ kannst Du das Array auch durch eine foreach Schleife ausgeben lassen.
$this->bbcode_second_pass_code('', 'foreach( $arr as $key => $val ) {
echo $key.' ist gleich '.$val.'<br />';
}')
Hab bestimmt nen Fehler reingehauen, so müde wie ich bin.