php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.01.2007, 13:20  
Erfahrener Benutzer
 
Registriert seit: 14.09.2004
Beiträge: 382
Crypi
Standard foreach verändert die werte des arrays das durchlaufen wird

Hi,

ich habe folgendes problem.

ich benutze foreach um ein nicht numerisches array zu durchlaufen.

unter bestimmten umständen wird während des durchlaufs das array verändert. es werden einträge angehängt.
wenn etwas angehängt wird, muss das array neu sortiert werden und foreach müsste neu starten um auch die neuen einträge zu bearbeiten.
das klappt aber so nicht.

PHP-Code:
...
foreach (array){
 
verlängerte_das_array(array);
 
ksort(array)

so durchläuft er nur das ursprüngliche array und lässte die neuen einträge außer acht.
hat jemand eine idee wie ich das lösen könnte?

danke für eure Mühe!

Crypi
__________________
PostgreSQL Forum:
www.pg-forum.de
Crypi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.01.2007, 13:44  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

foreach() arbeitet mit einer Kopie, daher klappt dein Vorhaben wohl nicht.
Worum geht es denn genau?
Zergling-new ist offline  
Alt 09.01.2007, 13:50  
Erfahrener Benutzer
 
Registriert seit: 14.09.2004
Beiträge: 382
Crypi
Standard

ah gut zu wissen...

hmm wie erklär ichs am besten...

also:

das array enthält uhrzeiten.
jetzt soll kontolliert werden ob zwischen diesen einträgen einträge fehlen. ob einträge fehlen richtet sich nach einem anderen array in dem werte eingetragen werden, die unter bestimmten vorraussetzungen in das andere array übernommen werden sollen.
wichtig ist hierbei aber, dass nach jedem neuen eintrag noch einmal kontrolliert wird ob die richtigen werte übernommen wurden, das richtet sich eben auch nach den neuen einträgen.
daher der "neustart". obwohl ein neutsart ist nicht wichtig, es ist nur wichtig das bei dem neu eingefügten wert weitergemacht wird, nachdem das array wieder in die richtige reihenfolge gebracht wurde.

Ich hoffe das ist verständlich

Crypi
__________________
PostgreSQL Forum:
www.pg-forum.de
Crypi ist offline  
Alt 09.01.2007, 14:13  
Erfahrener Benutzer
 
Registriert seit: 14.09.2004
Beiträge: 382
Crypi
Standard

ich glaub ich habs:

PHP-Code:
$test = array("a"=>"1",
                    
"b"=>"2",
                    
"d"=>"4");
              
       
       
$ende=4;
       
$akt=reset($test);
              
       
   while(
$ende<>$akt){
     
        
        if ((
next($test)-1) <> $akt) {
          
$test['c']=3;
          
ksort($test);

        }
        
        
$akt=current($test);
       
     }
        
    
        
            
echo 
"
"
;
print_r($test); 
Crypi
__________________
PostgreSQL Forum:
www.pg-forum.de
Crypi ist offline  
Alt 09.01.2007, 20:51  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

kryptische Aufgabe. Wenn ein Wert am Ende eingefügt würde hättest Du allerdings ne schöne Endlosschleife. Aber ob das passieren kann, wenn Uhrzeiten 'fehlen' kann ich aus deiner Beschreibung nicht entnehmen.
nikosch ist offline  
Alt 10.01.2007, 08:24  
Erfahrener Benutzer
 
Registriert seit: 14.09.2004
Beiträge: 382
Crypi
Standard

guten morgen,

stimmt hab ich nciht geschrieben.

das ende steht fest

Crypi
__________________
PostgreSQL Forum:
www.pg-forum.de
Crypi ist offline  
 


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sortierung eines Arrays nach ANZAHL Werte simsalabim PHP Tipps 2008 5 06.11.2007 13:44
mehrere Arrays mit Foreach? Diplomatic 55 PHP Tipps 2008 9 01.11.2007 16:53
foreach mit zwei übergebenen Arrays ? [erledigt] horstenpeter PHP Tipps 2006 1 03.09.2006 16:47
foreach() wird einmal zu oft durchlaufen Dilandau PHP Tipps 2006 15 07.07.2006 17:14
durch foreach auch normalen String durchlaufen lassen PHP Tipps 2006 7 14.01.2006 13:20
Werte in mehrdim. Arrays zählen PHP Tipps 2007 4 19.12.2005 10:41
werte aus einer foreach schleife in sql db einrtagen PHP Tipps 2005 3 31.05.2005 21:56
mit foreach werte im array ändern... PHP Tipps 2005 9 10.05.2005 13:26
Werte eines Arrays verändern, nur mit array_walk/map? PHP Tipps 2005 3 17.04.2005 16:00
Werte von mehreren Arrays in Datenbank schreiben! PHP Tipps 2005 10 10.04.2005 16:43
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
foreach und 2D arrays PHP Tipps 2004-2 2 29.12.2004 20:40
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32
[Erledigt] Werte eines Arrays aus Tabelle auslesen ? PHP-Fortgeschrittene 12 08.06.2004 19:57
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php foreach array, php array \jeder zweite\ wert, php foreach array verändern, php foreach werte ändern, das durchlaufen, php foreach wert nicht übernommen, foreach soll werte verändern, foreach verändert nicht, array neu, php foreach wird nicht durchlaufen, array foreach erneut ausführen, php array foreach ändern, array ändern php wird nicht übernommen, php foreach werte verändern, php array durchlaufen verändern, foreach original array ändern php, php array foreach wert ändern, foreach original array ändern, array neu beginnen php, php foreach array-werte bearbeiten

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:39 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.