php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.05.2008, 14:24  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard Komischer Fehler mit key()

Hallo,

ich habe neulich meinen Webspace auf die PHP Version 5.2.5 updaten lassen. Seit dem gibts bei mir ein Problem mit den Array Funktionen.

Ich habe folgendes Script:

PHP-Code:

<?php

header
("content-type: text/html; charset=UTF-8");

echo 
'

PHP 4/5 Array Test:</p>'
;

$test_array = array("apfel""hund""maus");
$test_array2 = array("1" => "apfel""2" => "hund""3" => "maus");
$test_array3 = array("baum" => "apfel""katze" => "hund""käse" => "maus");

echo 
'

Array #1</p>'
;


echo 
'<pre>';
print_r($test_array);
echo 
'</pre>';

foreach(
$test_array as $tmp) {
    echo 
key($test_array).' -> '.$tmp.'
'
;
    
next($test_array);
}

echo 
'

Array #2</p>'
;

echo 
'<pre>';
print_r($test_array2);
echo 
'</pre>';

foreach(
$test_array2 as $tmp) {
    echo 
key($test_array2).' -> '.$tmp.'
'
;
    
next($test_array2);
}

echo 
'

Array #3</p>'
;

echo 
'<pre>';
print_r($test_array3);
echo 
'</pre>';

foreach(
$test_array3 as $tmp) {
    echo 
key($test_array3).' -> '.$tmp.'
'
;
    
next($test_array3);
}

?>
An sich möchte ich einfach Arrays auslesen.

Allerdings verhält sich die neue PHP Version etwas anders. Um das ganze etwas zu veranschaulichen habe ich folgende Dateien online gestellt:

http://root.marbec.de/array_test.php (läuft unter PHP 4)

http://root.marbec.de/array_test.php5 (läuft unter PHP5)

Ich hoffe ihr seht was ich meine.

Könnt ihr mir erklären wieso, das so ist und wie ich das beheben kann?


mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.05.2008, 14:35  
Erfahrener Benutzer
 
Benutzerbild von GelaMu
 
Registriert seit: 05.03.2006
Beiträge: 183
GelaMu
Standard

GSJLink,

foreach() läuft automatisch vom Anfang bis Ende des Arrays.
Da brauchst du kein key() oder next().

Folgendes Beispiel:
PHP-Code:
<?php

$array 
= array(112233445566778899);

echo 
"Ohne next() und key():\n";
foreach(
$array as $key => $value) {
        echo 
"$key: $value\n";
}

echo 
"\n";
echo 
"Mit next() und key():\n";
foreach(
$array as $value) {
        echo 
key($array).": $value\n";
        
next($array);
}

?>
Ausgabe:
Code:
Ohne next() und key():
0: 11
1: 22
2: 33
3: 44
4: 55
5: 66
6: 77
7: 88
8: 99

Mit next() und key():
1: 11
2: 22
3: 33
4: 44
5: 55
6: 66
7: 77
8: 88
: 99

Wenn du das ohne foreach() machen willst, kannst du's so machen:
PHP-Code:
<?php

reset
($array);
while(
$value current($array)) {
   
$key key($array);
   
// ...
   
next($array);
}

?>
GelaMu ist offline  
Alt 27.05.2008, 15:50  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Ok, deine Alternative funktioniert

Vielen Dank!


mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink 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
[Erledigt] komischer safe mode fehler PHP-Fortgeschrittene 7 21.05.2012 14:26
Komischer Fehler Slein PHP Tipps 2008 5 21.04.2008 12:03
komischer Fehler im <marquee> MaxDittmann HTML, Usability und Barrierefreiheit 3 01.10.2007 15:51
komischer fehler rbs_phoenix PHP Tipps 2007 4 13.01.2007 17:17
Uploads -> komischer fehler brian johnson PHP Tipps 2006 2 02.12.2006 19:44
komischer fehler beim DB abfragen jens76 PHP Tipps 2006 4 14.06.2006 10:53
Komischer Fehler ... Verzeichnis-Überprüfung PHP Tipps 2005-2 11 07.10.2005 00:28
[Erledigt] Komischer Fehler, entfernen von Slashes geht nicht PHP Tipps 2005-2 3 14.07.2005 21:22
Komischer Fehler! PHP Tipps 2005-2 19 19.06.2005 17:24
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Übergabe Variablen sehr komischer Fehler PHP-Fortgeschrittene 6 16.11.2004 16:28
Komischer Fehler oder Normal ? Apche 2.0 Xampp versioin nilsfeld Server, Hosting und Workstations 6 12.11.2004 20:10
Komischer Fehler oder Normal ? Apche 2.0 Xampp versioin nilsfeld Server, Hosting und Workstations 0 11.11.2004 15:27
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05


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