Seite 1 von 1

php: array bei funktionsaufruf übergeben?!

Verfasst: Do 17.Feb, 2005 14:21
von bce
hallo.
kann man das?!
das man keine string oder integer variable an eine funktion übergibt...


die funktion:

Code: Alles auswählen

function punkte_berechnen($array1)
	{
    for ($i = 0; $i <= count($array1)-1; $i++) {
        echo "<br>".$i. "---" . $array1[$i];
	    }    
	
	//return
	}
der aufruf

Code: Alles auswählen

punkte_berechnen($ligenarray);
$ligenarray ist ein normales array und mit werten gefüllt.

in der funktion wird zwar erkannt das es z.b. 6 einträge hat.. aber der inhalt wird nicht ausgeben....

was muss ich ändern, damit das array ordentlich übergeben wird?!

thx

Verfasst: Do 17.Feb, 2005 15:00
von oxpus
Die Schleife ist falsch:

Code: Alles auswählen

function punkte_berechnen($array1) 
   { 
    for ($i = 0; $i < sizeof($array1); $i++) { 
        echo "<br>".$i. "---" . $array1[$i]; 
   }    
    return 
}

Verfasst: Do 17.Feb, 2005 18:33
von Gichtus

Code: Alles auswählen

Anmerkung:  Die Funktion sizeof() ist ein Alias für count().
Quelle: http://de3.php.net/manual/de/function.count.php

Sonst seh ich keinen Unterschied (bis auf "<=x-1" -> "<x")

/e: eben mal Apache angeworfen (inkl. PHP5)

Code: Alles auswählen

<?php
function punkte_berechnen($array1)
  {
  for ($i = 0; $i <= count($array1)-1; $i++) 
    {
    echo "<br>".$i. "---" . $array1[$i];
    }   
  //return
  }


$feld=array("bli","bla","blubb",1,2,3,4,5,6,78);

punkte_berechnen($feld);
?>
Ausgabe:

Code: Alles auswählen

0---bli
1---bla
2---blubb
3---1
4---2
5---3
6---4
7---5
8---6
9---78
Also sollte es funktionieren :confused:
Und wenn ich bei Oxpus' Version das "return" rausnehme, funktioniert sie genauso.

Verfasst: Do 17.Feb, 2005 18:45
von oxpus
Ja, sizeof() ist ein Alias von count(), der aber zuweilen korrektere Ergebnisse liefert. Keine Ahnung warum ¢#
Und der Unterschied ist in der Performance (wenn auch nur marginal):
count($array)-1 wird nämlich bei jedem Lauf der Schleife durchgeführt und daher ist es ratsam, nicht <= sondern nur < zu sagen und -1 nicht zu berechnen.

Aber davon abgesehen:
Geht es jetzt nun?

Verfasst: Fr 18.Feb, 2005 08:49
von bce
ok.. funktioniert nun..

jo, bei count($array)-1 kann man sich die -1 sparen wenn man < prüft und nicht <=