php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.04.2010, 16:04  
Neuer Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 1
PHP-Kenntnisse:
Anfänger
greatcthulhu befindet sich auf einem aufstrebenden Ast
Standard Ein (Teil)Array anhand von level und depth zurückgeben.

Hallo zusammen,

auf der Suche nach der Lösung eines Problems habe ich mich nach langem lesen und googlen hier angemeldet. Das ist also nun mein erster Beitrag:

Ich habe ein mehrdimensionales Array, das wie folgt aus der einer Datenbank aufgebaut wird:

PHP-Code:
Array
(
    [
1] => Array
        (
            [
parent] => 
            [
display] => Linktitel
            
[url] => index.php
        
)
    [
2] => Array
        (
            [
parent] => 
            [
display] => Linktitel
            
[url] => index.php
            
[children] => Array
                (
                    [
5] => Array
                        (
                            [
parent] => 2
                            
[display] => Linktitel
                            
[url] => index.php
                        
)
                    [
6] => Array
                        (
                            [
parent] => 2
                            
[display] => Linktitel
                            
[url] => index.php
                            
[children] => Array
                                (
                                    [
7] => Array
                                        (
                                            [
parent] => 6
                                            
[display] => Linktitel
                                            
[url] => index.php
                                        
)
                                    [
8] => Array
                                        (
                                            [
parent] => 6
                                            
[display] => Linktitel
                                            
[url] => index.php
                                            
[children] => Array
                                                (
                                                    [
9] => Array
                                                        (
                                                            [
parent] => 8
                                                            
[display] => Linktitel
                                                            
[url] => index.php
                                                        
)
                                                )
                                        )
                                )
                        )
                )
        )
    [
3] => Array
        (
            [
parent] => 
            [
display] => Linktitel
            
[url] => index.php
        
)
    [
4] => Array
        (
            [
parent] => 
            [
display] => Linktitel
            
[url] => index.php
        
)

Allerdings verzweifle ich an einer Funktion, die mir ein (Sub)Array liefern soll, das wie folgt aufgerufen werden soll:

PHP-Code:
function subarray($parent$depth)
{
  ...
  return 
$subarray;

Ich möchte als z.B. mit $testarray = subarray(0,1) nur die oberste Ebene haben:

PHP-Code:
Array 

    [
1] => Array 
        ( 
            [
parent] =>  
            [
display] => Linktitel 
            
[url] => index.php 
        

    [
2] => Array 
        ( 
            [
parent] =>  
            [
display] => Linktitel 
            
[url] => index.php 
        
)
    [
3] => Array 
        ( 
            [
parent] =>  
            [
display] => Linktitel 
            
[url] => index.php 
        

    [
4] => Array 
        ( 
            [
parent] =>  
            [
display] => Linktitel 
            
[url] => index.php 
        


oder mit $testarray = subarray(2,2) nur das folgende Array:

PHP-Code:
Array 
                ( 
                    [
5] => Array 
                        ( 
                            [
parent] => 
                            
[display] => Linktitel 
                            
[url] => index.php 
                        

                    [
6] => Array 
                        ( 
                            [
parent] => 
                            
[display] => Linktitel 
                            
[url] => index.php 
                            
[children] => Array 
                                ( 
                                    [
7] => Array 
                                        ( 
                                            [
parent] => 
                                            
[display] => Linktitel 
                                            
[url] => index.php 
                                        

                                    [
8] => Array 
                                        ( 
                                            [
parent] => 
                                            
[display] => Linktitel 
                                            
[url] => index.php 
                                            
[children] => Array 
                                                ( 
                                                    [
9] => Array 
                                                        ( 
                                                            [
parent] => 
                                                            
[display] => Linktitel 
                                                            
[url] => index.php 
                                                        

                                                ) 
                                        ) 
                                ) 
                        ) 
                ) 
Vielleicht gibt's da auch was fertiges? Ich habe leider nichts gefunden und würde mich sehr freuen, wenn mir jemand auf die Sprünge helfen könnte.

Viele Grüße
Mark
greatcthulhu ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.04.2010, 16:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 15.04.2010, 17:52  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von greatcthulhu Beitrag anzeigen
das wie folgt aus der einer Datenbank aufgebaut wird:
Gleiche Funktion, nur mit den Parametern die du schon genannt hast. Ist ja schätz ich mal rekursiv, kann man also gut an der entsprechenden Stelle implementieren.
chorn ist offline   Mit Zitat antworten
Alt 15.04.2010, 18:07  
Erfahrener Benutzer
 
Registriert seit: 20.01.2010
Beiträge: 108
PHP-Kenntnisse:
Fortgeschritten
feeela befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von greatcthulhu Beitrag anzeigen
Ich möchte als z.B. mit $testarray = subarray(0,1) ...
Da du ja anscheinend immer weißt, von welchem Eintrag du die "children" haben möchtest, kannst du dir das jeweilige Array rausziehen, per Schleife durchlaufen und alle Einträge "children" via unset() löschen.
Um eine ID aus den tieferen Ebenen zu finden habe ich auch gerade heute eine Funktion gesucht. Fündig geworden bin ich im Sitepoint-Forum und habe darauf aufgebaut...
feeela ist offline   Mit Zitat antworten
Alt 16.04.2010, 10:45  
Neuer Benutzer
 
Registriert seit: 14.04.2010
Beiträge: 26
PHP-Kenntnisse:
Fortgeschritten
aschunk befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

probiers doch mal mit foreach().
aschunk ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php teilarray, php array depth, php array parent, php subarray, javascript teilarray, php array level, php array ebene löschen, php array children, php array subarray, subarray php, php array sub, php array ebene entfernen, array ebene löschen, array ebene entfernen, php länge teilarray, php sub array, array parrent, array depth javascript, php sub of array, php array erste ebene

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:04 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum