php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.06.2006, 21:22  
Erfahrener Benutzer
 
Registriert seit: 30.10.2004
Beiträge: 160
Jacks Rache
Standard Leere Array-Elemente löschen

Hi,

ich habe gerade testweise ein kleines Programm geschrieben, das leere Arrayelemente löschen soll. Nur komischerweise wird das letzte Arrayelement nicht gelöscht, obwohl dieses leer ist.

PHP-Code:
$A_Test = array (""25""10"Hi""test""z"19""19""); // vier leere Elemente

echo "<pre>"var_dump($A_Test); echo "</pre>";
echo 
"



"
;

for (
$i=0$i<count($A_Test); $i++) {
  if (empty(
$A_Test[$i])) {
    unset (
$A_Test[$i]);
  }
}

echo 
"<pre>"var_dump($A_Test); echo "</pre>"// zeigt an, dass das letzte Element ("") trotzdem noch existiert 
Habe zuerst vermutet, dass ich die Schleife falsch gesetzt habe, aber das war es scheinbar nicht. Oder ich habe für heute komplett den Blick für PHP verloren. Wer weiß...
Jacks Rache ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.06.2006, 21:34  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Die Anzahl der Arrayelemente nimmt mit jedem Durchlauf ab, so dass die Bedingung $i < count() schon viel früher false wird, als du eigentlich erwartest. In diesem Fall wärst du mit der PHP-Funktion array_filter() besser bedient.
xabbuh ist offline  
Alt 09.06.2006, 22:15  
Erfahrener Benutzer
 
Registriert seit: 30.10.2004
Beiträge: 160
Jacks Rache
Standard

Ah, das wird es wohl sein. Danke.
Noch eine Frage in dem Zusammenhang. Ich habe als Experiment mal Folgendes versucht (ganz ohne zu wissen, ob das überhaupt geht):
PHP-Code:
<?php
while ($Leeres_Element array_search(""$Array)) {
  unset 
$Array[$Leeres_Element];
}
?>
Es sieht irgendwie gut aus . Aber warum funktioniert es nicht?
Jacks Rache ist offline  
Alt 09.06.2006, 22:24  
Gast
 
Beiträge: n/a
Standard

http://php.net/array_filter
 
Alt 09.06.2006, 22:31  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

array_search() liefert dir bei seinem ersten Aufruf 0, da ja das erste Element bereits leer ist. 0 wird durch das automatische Typecasting zu false und somit wird der Körper der while-Schleife gar nicht erst durchlaufen.
xabbuh ist offline  
Alt 09.06.2006, 22:44  
Erfahrener Benutzer
 
Registriert seit: 30.10.2004
Beiträge: 160
Jacks Rache
Standard

Ach klar. OK, danke nochmals. Mein PHP-Zentrum im Hirn ist heute irgendwie angeschlagen oder so
Jacks Rache 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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
[Erledigt] Durch Elemente in Array &quot;durchklicken&quot; horstenpeter PHP Tipps 2008 14 14.07.2008 16:17
ein Array auf zwei gleiche Elemente prüfen phpbeginner PHP Tipps 2006 2 18.03.2006 01:06
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
leere Arrayfelder aus dem Array werfen micbur PHP Tipps 2005-2 5 02.09.2005 16:08
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Elemente in mehrdimensionalem Array gezielt updaten PHP Tipps 2005 4 29.04.2005 15:18
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
Elemente aus assoz. Array entfernen PHP-Fortgeschrittene 3 02.11.2004 11:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php leere array elemente entfernen, php array leere elemente entfernen, php leere array elemente löschen, php array leere elemente löschen, php array leere einträge entfernen, php leere elemente aus array entfernen, leere array elemente löschen php, php array leere werte löschen, array leere elemente löschen, php array leere felder löschen, php array leere entfernen, leere array elemente löschen, php array letztes element löschen, leere elemente aus array entfernen php, php array leere einträge löschen, php array leere element löschen, php array leere werte entfernen, php array leere löschen, php array leere felder entfernen, leere elemente aus array entfernen

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