Array und For-Schleife

pauliee

Grünschnabel
Hallo!

Habe ein Script, bei dem ich in einer for-schleife bei jedem Durchlauf die Index-Zahl eines 2-dimensionalen Arrays ändern muss.

Hier der Code:

PHP:
	for($i;$i < $a;$i++) {

			$notext = $array[1][$i];
		preg_match_all($pat, $notext, $array);
	
	print_r($array[1][4]);
	echo "<br>";


	$count++;
	};

Wenn ich das nun ausführe, wird mir nichts angezeigt. Normal sollten mir 12 verschiedene Werte angezeigt werden.

Habe ich hier einen Syntax-Fehler drin?

mfg
 
Kann ich den Rest vom Schützenfest auch mal sehen?

Also $a und was mal in $array drin war? Denn nach dem
ersten Durchlauf ist $array weg, weil du das mit den Inhalten
des preg match füllst?!
 
Was mir auffällt ist, dass du die Variable $i nicht deklarierst.

for($i = 0; $i < $a; $++)


Kann Nils nur zustimmen, ändere die Variable für die Treffer in preg_match_all oder sag uns wo genau der Syntaxfehler auftritt.
 
Habe es nun soweit gebracht, das er mir wenigstens den ersten Wert ausliest.

Hier das ganze Script:

PHP:
$data = implode("", file($file_url));

#echo $data;
// das Suchmuster mit Delimiter und Modifer (falls vorhanden) 
$pattern = '~<TR align=right>(.*?)</tr>~isu'; 

// Auswertung mit preg_match_all() 
preg_match_all($pattern, $data, $array);
// formatierte Ausgabe 

	$a = count($array[1]);

// ************************************************************************************************** 
  $pat = '~<td>(.*?)</td>~is';


	for($i = 0;$i < $a;$i++) {

	$notext = $array[1][$i];
	preg_match_all($pat, $notext, $array);
	// Ausgabe
	print $array[1][4];

	$count++;
};

?>
 
Ist ein Perl- / HTML- File was damit ausgelesen wird.
Du hast mir da eh Script- Hilfen gegeben ... war mein letztes Posting.
 
Kann mir bitte irgendwer helfen?

Die Werte sehen nun so aus: 1918,1870,4818,1205,1831,2198,716,0,0,0,0,0,
Und wenn ich diese jetzt trennen will mit explode(), kommen bei $array[0] alle Zahlen ohne Komma! Ab $array[1] kommt dann gar nichts mehr!
 
Ja das ich was falsch gemacht habe ist mir aufgefallen ;)

Hier nochmal der Code - vielleicht verträgt sich explode() nicht mit str_replace()


PHP:
<?
	$data = implode("", file($woher));

	$pattern = '~<TR align=right>(.*?)</tr>~isu'; 



	preg_match_all($pattern, $data, $array);


	$a = count($array[1]);




  $pat = '~<td>(.*?)</td>~is';



	

		
	for($i = 0;$i < $a;$i++) {

	$notext = $array[1][$i];
	preg_match_all($pat, $notext, $array2);

	// letzte HTML- Tags aus String entfernen
	$inhalt332= str_replace("<font size=\"-1\">","",$array2[1][4]);
	$inhalt332= str_replace("</font>",",",$inhalt332);
	$inhalt332= str_replace(" ","",$inhalt332);
	$inhalt332= str_replace(".","",$inhalt332);

	echo $inhalt332;
	
};
?>
 
Wo rufst du denn dabei explode auf? Und an str_replace kann es eigentlich auch nicht liegen, außer natürlich das es vielleicht gar keine Kommata mehr gibt. Aber das glaube ich eigentlich nicht.
 
Zurück