Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Array durchsuchen

Frage Entwicklung PHP

Mitglied: chrigi89

chrigi89 (Level 1) - Jetzt verbinden

09.12.2008, aktualisiert 07.01.2009, 3941 Aufrufe, 3 Kommentare

Hallo

Gibt es von PHP bereits eine solche Funktion:
"Durchsucht ein Array rekursiv nach einem Wert eines bestimmten Schlüssels und liefert wenn gefunden 'true' zurück."

Konkret: Die Funktion soll im Array nach dem Schlüssel "id" suchen und diesen Schlüssel mit einer Zahl vergleichen.

Mein Vorhaben:

Ich hab ein Array

01.
Array 
02.
03.
    [0] => Array 
04.
05.
            [id] => 1 
06.
            [titel] => Home 
07.
            [parent_id] => 0 
08.
            [ebene] => 1 
09.
            [children] => Array 
10.
11.
                    [0] => Array 
12.
13.
                            [id] => 5 
14.
                            [titel] => Home 
15.
                            [parent_id] => 1 
16.
                            [ebene] => 2 
17.
                            [children] => Array 
18.
19.
                                    [0] => Array 
20.
21.
                                            [id] => 14 
22.
                                            [titel] => test1 
23.
                                            [parent_id] => 5 
24.
                                            [ebene] => 3 
25.
                                            [children] => Array 
26.
27.
28.
 
29.
30.
 
31.
                                    [1] => Array 
32.
33.
                                            [id] => 15 
34.
                                            [titel] => test2 
35.
                                            [parent_id] => 5 
36.
                                            [ebene] => 3 
37.
                                            [children] => Array 
38.
39.
40.
 
41.
42.
 
43.
44.
 
45.
46.
 
47.
                    [1] => Array 
48.
49.
                            [id] => 6 
50.
                            [titel] => Fachgeschaeft 
51.
                            [parent_id] => 1 
52.
                            [ebene] => 2 
53.
                            [children] => Array 
54.
55.
                                    [0] => Array 
56.
57.
                                            [id] => 10 
58.
                                            [titel] => Ueber uns 
59.
                                            [parent_id] => 6 
60.
                                            [ebene] => 3 
61.
                                            [children] => Array 
62.
63.
64.
 
65.
66.
 
67.
                                    [1] => Array 
68.
69.
                                            [id] => 11 
70.
                                            [titel] => Wochenhit 
71.
                                            [parent_id] => 6 
72.
                                            [ebene] => 3 
73.
                                            [children] => Array 
74.
75.
                                                    [0] => Array 
76.
77.
                                                            [id] => 18 
78.
                                                            [titel] => Test1 
79.
                                                            [parent_id] => 11 
80.
                                                            [ebene] => 4 
81.
                                                            [children] => Array 
82.
83.
84.
 
85.
86.
 
87.
                                                    [1] => Array 
88.
89.
                                                            [id] => 19 
90.
                                                            [titel] => Test2 
91.
                                                            [parent_id] => 11 
92.
                                                            [ebene] => 4 
93.
                                                            [children] => Array 
94.
95.
96.
 
97.
98.
 
99.
                                                    [2] => Array 
100.
101.
                                                            [id] => 20 
102.
                                                            [titel] => test 
103.
                                                            [parent_id] => 11 
104.
                                                            [ebene] => 4 
105.
                                                            [children] => Array 
106.
107.
                                                                    [0] => Array 
108.
109.
                                                                            [id] => 21 
110.
                                                                            [titel] => test 
111.
                                                                            [parent_id] => 20 
112.
                                                                            [ebene] => 5 
113.
                                                                            [children] => Array 
114.
115.
116.
 
117.
118.
 
119.
120.
 
121.
122.
 
123.
124.
 
125.
126.
 
127.
                                    [2] => Array 
128.
129.
                                            [id] => 12 
130.
                                            [titel] => Produkte 
131.
                                            [parent_id] => 6 
132.
                                            [ebene] => 3 
133.
                                            [children] => Array 
134.
135.
136.
 
137.
138.
 
139.
                                    [3] => Array 
140.
141.
                                            [id] => 13 
142.
                                            [titel] => Partner 
143.
                                            [parent_id] => 6 
144.
                                            [ebene] => 3 
145.
                                            [children] => Array 
146.
147.
148.
 
149.
150.
 
151.
152.
 
153.
154.
 
155.
                    [2] => Array 
156.
157.
                            [id] => 7 
158.
                            [titel] => Software Entwicklung 
159.
                            [parent_id] => 1 
160.
                            [ebene] => 2 
161.
                            [children] => Array 
162.
163.
164.
 
165.
166.
 
167.
                    [3] => Array 
168.
169.
                            [id] => 8 
170.
                            [titel] => Links 
171.
                            [parent_id] => 1 
172.
                            [ebene] => 2 
173.
                            [children] => Array 
174.
175.
176.
 
177.
178.
 
179.
                    [4] => Array 
180.
181.
                            [id] => 9 
182.
                            [titel] => Mitarbeiter 
183.
                            [parent_id] => 1 
184.
                            [ebene] => 2 
185.
                            [children] => Array 
186.
187.
188.
 
189.
190.
 
191.
192.
 
193.
194.
 
195.
    [1] => Array 
196.
197.
            [id] => 2 
198.
            [titel] => Support 
199.
            [parent_id] => 0 
200.
            [ebene] => 1 
201.
            [children] => Array 
202.
203.
                    [0] => Array 
204.
205.
                            [id] => 16 
206.
                            [titel] => Support 
207.
                            [parent_id] => 2 
208.
                            [ebene] => 2 
209.
                            [children] => Array 
210.
211.
212.
 
213.
214.
 
215.
                    [1] => Array 
216.
217.
                            [id] => 17 
218.
                            [titel] => Test 
219.
                            [parent_id] => 2 
220.
                            [ebene] => 2 
221.
                            [children] => Array 
222.
223.
224.
 
225.
226.
 
227.
228.
 
229.
230.
 
231.
    [2] => Array 
232.
233.
            [id] => 3 
234.
            [titel] => Kontakt 
235.
            [parent_id] => 0 
236.
            [ebene] => 1 
237.
            [children] => Array 
238.
239.
240.
 
241.
242.
 
243.
)
Nun erhalte ich von aus dem GET Parameter die ID des aktuell ausgewählten Punktes.
Nun soll der Pfad zum ausgewählten Unterpunkt Fett dargestellt werden.
Meine Überlegung nun: Jedesmal wenn in der Schleife bei der Suche nach "id" true zurück kommt setze ich das Attribut "b".
Mitglied: ITLocke
09.12.2008 um 16:11 Uhr
"array_key_exists — Prüft, ob ein Schlüssel in einem Array existiert"

Näheres siehe:

http://de.php.net/manual/de/function.array-key-exists.php

Ob es das auch rekursiv macht, weiß ich leider nicht.

Gruß Locke
Bitte warten ..
Mitglied: Arano
09.12.2008 um 16:14 Uhr
Nein, sieht nicht so aus !
PHP-Manual - Array Functions
Aber schau dir doch mal "array_walk_recursive()"" an, daraus sollte sich doch was basteln lassen.

~Arano
Bitte warten ..
Mitglied: chrigi89
25.12.2008 um 01:01 Uhr
ich habs geschafft mit

array_walk_recursive($child, 'search_array_output');

besten dank!
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Server-Hardware
Hp smart array e200i accu austausch (8)

Frage von hansleo zum Thema Server-Hardware ...

Entwicklung
gelöst Array in HTML-Tabelle umwandeln mittels AutoIT (5)

Frage von drnatur zum Thema Entwicklung ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (14)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...