AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Mehrdimensionales Array durchsuchen
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Mehrdimensionales Array durchsuchen

Ein Thema von Wuaegner · begonnen am 13. Apr 2006 · letzter Beitrag vom 13. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#1

[PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 16:48
Hallo,
ich habe ein mehrdimensionales array $dateiname[][][].
$dateiname[1][2][2] hat z.B den Wert "test.php";

Jetzt möchte ich das array durchsuchen nach dem Wort "test.php" und möchte als Ergebnis etwas wie : "122" in welcher Form auch immer.

Hat jemand eine Idee?
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#2

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 16:59
Du kannst es doch einfach in 3 Schleifen verschachteln, oder?
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 17:01
Ich weiß aber die obere Grenze für meine Schleifen nicht, also wieviele einträge pro "dimension" vorhanden sind
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 17:03
Zitat von Wuaegner:
Ich weiß aber die obere Grenze für meine Schleifen nicht, also wieviele einträge pro "dimension" vorhanden sind
Code:
foreach ($my_array as $entry)
{
  // durchläuft die oberste Ebene
  // $entry <== das aktuelle Element
  foreach ($entry as $foo_entry)
  {
    // 2. Ebene
  }
}
So kannste auch alles durchgehen, falls es keine einfachere Möglichkeit gibt.
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#5

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 17:04
Hi Wuaegner!

Man könnte ja ineinander verschachtelte For-Scheifen machen...

Code:
foreach ($dateiname as dim1=>wert1) {
  foreach ($dim1 as dim2=>$wert2) {
    foreach ($dim2 as $dim3=>$wert3) {
      if ($dateiname[$dim1][$dim2][$dim3]=="test.php") $result = $dim1.$dim2.$dim3;
    }
  }
}
Wobei man unbedingt noch eine Art break-Befehl reinbauen sollte, den habe ich aber gerade vergessen wie der war.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 17:18
Hallo,
Danke schonmal, erhalt nun aber bei dem hier:
Delphi-Quellcode:
foreach ($dateiname as $layer1) {
  foreach ($layer1 as $layer2) {
    foreach ($layer2 as $layer3) {
      if ($dateiname[$layer1][$layer2][$layer3]=="bewerber.php"){ echo $layer1.$layer2.$layer3; break;}

    }
  }
}
die Fehlermeldung : "Warning: Illegal offset type in C:\apachefriends\xampp\htdocs\ibj2\nav_de.php on line 134"
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#7

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 17:23
Also dass es in Zeile 134 ist nützt uns nix, da das Script keine 134 Zeilen hat und ich daher nicht weiß wo der den Fehler nun hat...

Weiterhin ist es imho so, dass er mit dem Break nur aus der einen SChleife rausgeht, sind aber noch 2 mehr.

und wenn man
Code:
foreach ($dateiname as $layer1)
schreibt, nimmt er in $layer1 den Wert (Also nicht den Index) vom ersten Element. Du willst aber sicherlich den Index haben?


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 17:29
Ok, nun habe ich es so gemacht wie du es vorgeschlagen hast:
Code:
foreach ($dateiname as $dim1=>$wert1) { 
  foreach ($dim1 as $dim2=>$wert2) { 
    foreach ($dim2 as $dim3=>$wert3) { 
      if ($dateiname[$dim1][$dim2][$dim3]=="bewerber.php") echo $dim1.$dim2.$dim3;
    } 
  } 
}
Nun kommt aber
Zitat:
Warning: Invalid argument supplied for foreach() in blabla on line 2
Also hier in der 2.Zeile
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#9

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 17:37
Dein Array heißt auch exakt so und in jeder Dimension ist auch mindestens 1 Feld vorhanden?

Wenn dies so ist, dann weiß ich nicht woran es liegen könnte


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: [PHP] Mehrdimensionales Array durchsuchen

  Alt 13. Apr 2006, 17:37
Zitat von Wuaegner:
Nun kommt aber
Zitat:
Warning: Invalid argument supplied for foreach() in blabla on line 2
Na dann ueberleg mal was du uebergibst:
Code:
foreach ($dateiname as $dim1=>$wert1) {
  foreach ($dim1 as $dim2=>$wert2) {
Ganz genau...$dim1; also nicht den Wert, sondern den Index. Korrekt waere es so:
Code:
foreach ($dateiname as $index1 => $wert1)

  foreach ($wert1 as $index2 => $wert2)
  { 
    foreach ($wert2 as $index3 => $wert3)
    { 
      if ($wert3 == 'bewerber.php')
      {
        echo $index1 . $index2 . $index3;
      }
    } 
  } 
}
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz