MIchael: Array Elemente miteinander vergleichen

Ich habe folgendes Problem:

Ich habe zwei Arrays($res_tmp und $dir_files) und möchte Werte dieser Arrays mit folgender Schleife vergleichen.

for($i=0;$i<=sizeof($res_tmp);$i++)
{
  for($j=0;$j<=sizeof($dir_files);$j++)
  {
    if(($res_tmp[$i]) == (substr($dir_files[$j],0,16)))
    {
      $res[] = 'whatever'.$dir_files[$j];
      break;
    }
  }
}

Wenn ein Teilstring in $dir_files gleich einem Element in $res_tmp ist soll der ganze String d.h. Dateiname aus $dir_files in ein anderes Array gespeichert werden.

Wenn ich die Schleife jedoch ausführe, klappt das jedoch nicht. Das 'whatever' aus der inneren if Abfrage wird ausgegeben, der Wert wird jedoch nicht an diesen String angehängt.

Kann mir da jemand von euch bitte helfen?

Michael

  1. Moin,

    Ich habe zwei Arrays($res_tmp und $dir_files) und möchte Werte dieser Arrays mit folgender Schleife vergleichen.

    for($i=0;$i<=sizeof($res_tmp);$i++)
    {
      for($j=0;$j<=sizeof($dir_files);$j++)
      {
        if(($res_tmp[$i]) == (substr($dir_files[$j],0,16)))
        {
          $res[] = 'whatever'.$dir_files[$j];
          break;
        }
      }
    }

    Wenn ich die Schleife jedoch ausführe, klappt das jedoch nicht. Das 'whatever' aus der inneren if Abfrage wird ausgegeben, der Wert wird jedoch nicht an diesen String angehängt.

    Hast du dir mal angeguckt, was in den Arrays drin steht? Vielleicht vergleichst du ja zwei Leerstring und deswegen wir an 'whatever' nichts angehängt...

    MfG,
      Juan

  2. hi,

    Wenn ich die Schleife jedoch ausführe, klappt das jedoch nicht. Das 'whatever' aus der inneren if Abfrage wird ausgegeben, der Wert wird jedoch nicht an diesen String angehängt.

    eigentlich müsste das funktionieren. lass dir doch mal das array vorher ausgeben mit print_r() oder var_dump() und lass dir in der if-schleife den zähler j ausgeben dann schaue was an dieser stelle eigentlich stehen müsste. ich vermute mal stark das es an dem inhalt des arrays liegt.

    gruss,
    robbe