php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.05.2008, 19:14  
Benutzer
 
Registriert seit: 09.01.2008
Beiträge: 82
Lavalampe befindet sich auf einem aufstrebenden Ast
Standard $i++ in while

while($einarray[$i]) {
$i++;
}

$i hat nach der Schleife den Wert 0. Was kann ich dagegen tun? Und warum passiert das?

Danke
Lavalampe ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.05.2008, 19:54  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dann wird i++ wohl nie ausgeführt. Dann ist die While-Bedingung wohl schon beim ersten Test nicht erfüllt.
David ist offline  
Alt 09.05.2008, 20:51  
Benutzer
 
Registriert seit: 09.01.2008
Beiträge: 82
Lavalampe befindet sich auf einem aufstrebenden Ast
Standard

Irgendwas stimmt da nicht...

PHP-Code:
    $signaturen=explode("|"$signatur);
    while(
$signaturen[$i]) {
        
$i++;
    }
    
$select=rand(0$i);

    return 
$signaturen[$select]; 
Das ganze steckt in einer Funktion. $signatur wird erfolgreich ausgelesen.

$signaturen[0] ist auch gefüllt.
Lavalampe ist offline  
Alt 09.05.2008, 21:19  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Also das geht insgesamt anders besser. Aber erstmal eine Runde "wie finde ich den Fehler"
PHP-Code:
error_reporting(E_ALL);
ini_set('display_errors'1);

$signaturen=explode("|"$signatur);
var_dump($i);
var_dump($signaturen[$i]);
while(
$signaturen[$i]) {
  
$i++;
}
$select=rand(0$i);

return 
$signaturen[$select]; 
David ist offline  
Alt 09.05.2008, 21:26  
Neuer Benutzer
 
Registriert seit: 05.05.2008
Beiträge: 19
PHP4ever befindet sich auf einem aufstrebenden Ast
Standard Variable i

Kann eine Variable per $var++; überhaupt hochgezählt werden, solang sie nicht vorher definiert wurde?
lg Flo
__________________
"Je größer die Insel des Wissens, desto länger die Küste der Verzweiflung!"
PHP4ever ist offline  
Alt 09.05.2008, 21:31  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Ja. PHP gibt eine Warnung aus und dann wird $i=0 gesetzt.
Das kann man auch schnell mal selbst nachprüfen.
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'1);

$i++;
echo 
$i;
Zitat:
Notice: Undefined variable: i in ... on line 5
1
David ist offline  
Alt 09.05.2008, 21:39  
Benutzer
 
Registriert seit: 09.01.2008
Beiträge: 82
Lavalampe befindet sich auf einem aufstrebenden Ast
Standard

In Webspell wird ein klein wenig zu viel reportet, deswegen nehme ich das lieber raus.

Bei dem var_dump() bekomme ich pro Signatur 4 mal NULL ausgegeben.
Lavalampe ist offline  
Alt 09.05.2008, 21:42  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dann teste es halt so
PHP-Code:
$oE error_reporting(E_ALL);
$oD ini_set('display_errors'1);

$signaturen=explode("|"$signatur);
var_dump($signatur);
var_dump($signaturen);
var_dump($i);
var_dump($signaturen[$i]);
while(
$signaturen[$i]) {
  
$i++;
}
$select=rand(0$i);

error_reporting($oE);
ini_set('display_errors'$oD);

return 
$signaturen[$select]; 
aber poste die genaue Ausgabe, copy&paste.
David ist offline  
Alt 09.05.2008, 21:46  
Benutzer
 
Registriert seit: 09.01.2008
Beiträge: 82
Lavalampe befindet sich auf einem aufstrebenden Ast
Standard

Code:
Warning
Code:
:  ini_set() has been disabled for security reasons in /usr/export/www/vhosts/funnetwork/hosting/account/src/func/user.php on line 101
string(43) "text" array(1) {   [0]=>   string(43) "text" }
Notice:  Undefined variable: i in /usr/export/www/vhosts/funnetwork/hosting/account/src/func/user.php on line 106
NULL 
Notice:  Undefined variable: i in /usr/export/www/vhosts/funnetwork/hosting/account/src/func/user.php on line 107

Notice:  Undefined index:   in /usr/export/www/vhosts/funnetwork/hosting/account/src/func/user.php on line 107
NULL 
Notice:  Undefined variable: i in /usr/export/www/vhosts/funnetwork/hosting/account/src/func/user.php on line 108

Notice:  Undefined index:   in /usr/export/www/vhosts/funnetwork/hosting/account/src/func/user.php on line 108

Notice:  Undefined variable: i in /usr/export/www/vhosts/funnetwork/hosting/account/src/func/user.php on line 111 
Lavalampe ist offline  
Alt 09.05.2008, 21:47  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
string(43) "text" array(1) { [0]=> string(43) "text" }
Oh, werden Deine Testsignaturen noch zum Patent angemeldet?
David 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
Alternative zur While Scheilfe (DB Anfrage) Reen_Sc Datenbanken 20 30.07.2008 15:16
[Erledigt] probleme for bzw while phpmax PHP Tipps 2008 13 24.05.2008 21:12
mysql_query verschmelzen zweier abfragen (while schleife) Buschdieb PHP Tipps 2006 10 15.07.2006 17:11
while + header ?!? lindner PHP Tipps 2006 9 21.03.2006 00:11
while Schleife gibt nicht alle Daten aus PHP Tipps 2006 2 12.01.2006 19:24
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
2 verschachtelte while Schleifen. Großes Performanceproblem Datenbanken 3 30.05.2005 12:52
While Schleife Beatbox Off-Topic Diskussionen 8 19.05.2005 21:55
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
Variabel aus while schleife ausserhalb der schleife nutzen PHP Tipps 2005 8 12.02.2005 18:04
Mit While selektieren und Daten rausholen (HILFE)!! Spike_php Datenbanken 7 12.12.2004 20:08
Nach while Schleife funzt nix mehr?! PHP Tipps 2004 15 25.08.2004 00:25
[Erledigt] probleme mit ner while schleife PHP Tipps 2004 5 23.07.2004 17:28
Prob mit While schleife JEGO PHP Tipps 2004 2 04.06.2004 12:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
while $i, php while $i, while schleife mit $i php, i php, php while i, je größer die insel des wissens, desto größer der rand der verzweiflung, php while return, while $i i, php i

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