Hallo zusammen!
Ich habe vermutlich ein einfach zu lösendes Problem:
Ich habe folgendes Array:
	Ich habe eine Funktion geschrieben, die durch dieses Array iterieren soll und die values in ein neues Array schreiben soll:
	
aber ich bekomme immer ein "Invalid argument supplied for foreach()."
Warum? Habe ich mit
der Schleife kein Array übergeben? Mit meinem Beispiel von oben müsste $arr bei $x==0 doch so aussehen:
	, oder?
Hat jemand einen Hinweis für mich, was ich hier falsch mache?
mfg,
bub
					Ich habe vermutlich ein einfach zu lösendes Problem:
Ich habe folgendes Array:
Code:
	
	Array
(
    [0] => Array
        (
            [_10-12] => Array
                (
                    [student] => Peter Hasenberger  
                )
        )
    [1] => Array
        (
            [_8-10] => Array
                (
                    [student] => Hans Paulmann  
                )
        )
    [2] => Array
        (
            [_10-12] => Array
                (
                    [student] => David Hasselhoff  612344566
                )
        )
    [4] => Array
        (
            [_9-12] => Array
                (
                    [student] => Bugs Bunny  935123331
                )
        )
)
PHP Code:
	
	
function matsperlevel($array, $level){
  $i = count($array);
  $timeTable = array(
  "eightToTen"=>array(),
  "nineToEleven"=>array(),
  "tenToTwelve"=>array(),
  "elevenToThirteen"=>array(),
  "twelveToFourteen"=>array(),
  "eightToEleven"=>array(),
  "nineToTwelve"=>array(),
  "tenToThirteen"=>array(),
  "elevenToFourteen"=>array(),
  "twelveToFifteen"=>array()
   );
   
    
    //$test = $array[1]["_8-10"]["student"];
    //echo $test; FUNKTIONIERT
    
    if ($i < 2){
      echo "Nur ein Schueler";}
    else {
      for($x = 0; $x <= $i; $x++)
        {
        $arr = $array[$x];
        foreach ($arr as $key) {
          switch ($key){
            case "_8-10":
              $timetable["eightToTen"][] = $arr[$key]["student"];
              break;
            case "_9-11":
              $timetable["nineToEleven"][] = $arr[$key]["student"];
              break;
            case "_10-12":
              $timetable["tenToTwelve"][] = $arr[$key]["student"];
              break;
            case "_11-13":
              $timetable["elevenToThirteen"][] = $arr[$key]["student"];
              break;
            case "_12-14":
              $timetable["twelveToFourteen"][] = $arr[$key]["student"];
              break;
            case "_8-11":
              $timetable["eightToEleven"][] = $arr[$key]["student"];
              break;
            case "_9-12":
              $timetable["nineToTwelve"][] = $arr[$key]["student"];
              break;
            case "_10-13":
              $timetable["tenToThirteen"][] = $arr[$key]["student"];
              break;
            case "_11-14":
              $timetable["elevenToFourteen"][] = $arr[$key]["student"];
              break;
            case "_12-15":
              $timetable["twelveToFifteen"][] = $arr[$key]["student"];
              break;
            }
          }
        }
      }
  echo "<pre>";
  echo $timetable;
  echo "</pre>";
} 
Warum? Habe ich mit
$arr = $array[$x];
der Schleife kein Array übergeben? Mit meinem Beispiel von oben müsste $arr bei $x==0 doch so aussehen:
Code:
	
	(
            [_10-12] => Array
                (
                    [student] => Peter Hasenberger  
                )
Hat jemand einen Hinweis für mich, was ich hier falsch mache?
mfg,
bub
 
          
 Moderator
 Moderator
Comment