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, 3937 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
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...