Funktion wie count(); gesucht

  • Themenstarter Themenstarter Sealtuagn
  • Beginndatum Beginndatum
S

Sealtuagn

Wenn ich einen Array habe..
mit welcher funktion kann ich zählen oder eher ermitteln,
wieviele einträge im Array sind ?

Das benötige ich nämlich für eine For-Schleife.
 
wäre das dann also so korrekt ?`also von der struktur her ?
Code:
for ($i=0; $i<count($_SESSION['ID_array']); $i++)
 
Das Arbeiten mit der foreach-Kontrollstruktur ist vor allem dann vorteilhaft, wenn das Array nicht-numerisch ist und die Schlüssel selbst unbekannt sind. Auch aus Performance-Gründen ist die Verwendung der foreach-Kontrollstruktur der for-Variante vorzuziehen (vgl. BlueShoes: PHP Benchmark).
 
dann könnt ihr mir doch bestimmt diesen nicht funktionierenden Code in eine Foreach-schleife umwandeln...
das wäre nett....
PHP:
for ($i=1; $i<=count($_SESSION['ID_array']); $i++)
{
        $sql_RD_itemInfo = "SELECT * FROM item_list WHERE ID = '".$_SESSION['ID_array'][$i]."'";
        $erg_RD_itemInfo = mysql_query($sql_RD_itemInfo);
        $sql_erg_RD_itemInfo = mysql_fetch_assoc($erg_RD_itemInfo) or die (mysql_error());
        
        $sql_INS_heandler = "UPDATE
                                item_traveler
                             SET
                                date              = '".$timestamp."',
                                item".$i."_ID     = '".$_SESSION['ID_array'][$i]."',
                                item".$i."_number = '7',
                                item".$i."_cost   = '".($sql_erg_RD_itemInfo['cost'] - 30)."'
                             WHERE
                                ID = '1'";
        $erg_INS_heandler = mysql_query($sql_INS_heandler) or die (mysql_error());
}
 
Sicher:
PHP:
<?php

	…
	foreach( $_SESSION['ID_array'] as $key => $value ) {
		$query = "
			SELECT
			        `cost`
			  FROM
			        `item_list`
			  WHERE
			        `ID` = '".$value."'
			";
		$result = mysql_query($query);
		$row = mysql_fetch_assoc($result) or die(mysql_error());

		$query= "
			UPDATE
			        `item_traveler`
			  SET
			        `date`              = '".$timestamp."',
			        `item".$key."_ID`     = '".$value."',
			        `item".$key."_number` = '7',
			        `item".$key."_cost`   = '".($row['cost']-30)."'
			  WHERE
			        `ID` = 1
			";
		mysql_query($query) or die(mysql_error());
	}
	…

?>
 
Zuletzt bearbeitet:
@Gumbo:
Bei
foreach( $_SESSION['ID_array']) as $key => $value ) {
ist entweder eine "ZU" Klammer zuviel, oder eine "AUF" Klammer zuwenig. Ich würde mal sagen das sollte so heißen:
foreach( $_SESSION['ID_array'] as $key => $value ) {

Nochwas. Woher kommt den die Variable $i? Müsstest du die nicht erst noch belegen? Z.B.: Vor der foreach-Schleif $i=0; und am Ende der Schleife $++; schreiben!
 
Zuletzt bearbeitet:
Zurück