Portal > Foren > PHP > PHP-Programmierung > Array: Undefined Index
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 28.03.2006, 16:58 Nach oben    #1
Benutzer
 
Benutzerbild von Skinwalker
 
Registriert seit: 24.01.2006
Beiträge: 66
Standard Array: Undefined Index

Hiho,

ich habe hier ein großes Array das etwa so aussieht:
PHP-Code:
$questions[] = array(
    
'title'        => 'Entlassungsdatum',
    
'type'        => 'DATE'
    
);
$questions[] = array(
    
'title'     => 'Dauer Aufenthalt Intensivstation',
    
'sub'        => '(in Tagen)',
    
'type'         => 'INT'
);
... 
das dann mit foreach durchlaufen wird (Ausschnitt
PHP-Code:
foreach($questions as $question){ 
if(
$question['title']){    
   
// Anweisungen

 if(
$question['sub']){    
    
// Anweisungen
 
}
...

so jetzt wirft er mir jedesmal wenn in einem Array kein Eintrag mit dem Schlüssel "sub" zum Beispiel vorhanden ist.
aber ich warum?

klar ich kann mein error_reporting einfach so einstellen das er die Meldungen brav für sich behält aber ist das die einzige Lösung?

Wie wenn nicht mit if($question[KEY]) soll ich denn prüfen ob ein Array einen Eintrag mit dem Schlüssel KEY hat?

Skinwalker
Skinwalker ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.03.2006, 17:00 Nach oben    #2
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.208
Standard

www.php.net/isset

damit überprüfst du vorher ob der index gesetzt ist.

mfg
robo47
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.03.2006, 17:20 Nach oben    #3
Benutzer
 
Benutzerbild von Skinwalker
 
Registriert seit: 24.01.2006
Beiträge: 66
Standard

ah spitze danke ^__^

etwas irritierend finde ich das
PHP-Code:
$var 5;
if(isset(
$var) == 5){
 
// ..

funktioniert obwohl isset eigentlich bool zurückgibt...aber gut ...mir solls recht sein.

Geändert von Skinwalker (28.03.2006 um 17:31 Uhr)
Skinwalker ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.03.2006, 17:49 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Wenn Du nur auf den Schlüssel prüfen willst, was ja durchaus sein kann, dann schau Dir auch array_key_exists an.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.03.2006, 17:51 Nach oben    #5
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 459
Standard

Zitat:
Zitat von Skinwalker
obwohl isset eigentlich bool zurückgibt
Genau deswegen "funktioniert" es ja. isset() gibt ein boolean zurück, daher wird 5 auch in boolean umgewandelt und weil alle Zahlen > 0 wahr sind, ist der Ausdruck wahr.
__________________
Corvin ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.03.2006, 17:58 Nach oben    #6
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ergänzend. Es klappt (afaik) nicht, weil $var == 5 ist, sondern weil 5 == true ist.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.03.2006, 18:17 Nach oben    #7
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Zitat:
Zitat von Ben
Ergänzend. Es klappt (afaik) nicht, weil $var == 5 ist, sondern weil 5 == true ist.
Ist richtig. Nur damit das "afaik" aus der Welt geschafft ist
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.03.2006, 09:29 Nach oben    #8
Benutzer
 
Benutzerbild von Skinwalker
 
Registriert seit: 24.01.2006
Beiträge: 66
Standard

das heißt um Fehler zu vermeiden muss ich bei der variable das ganze so umschreiben?

PHP-Code:
$mode = isset($_POST['Mode']) ? $_POST['Mode'] : false;
if(
$mode == 'blub'){
 
// ..

och nö.... -.-
Skinwalker ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.03.2006, 11:43 Nach oben    #9
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

oder so:
PHP-Code:
if(isset($_POST['Mode']) && $_POST['Mode'] == 'blub'){
 
// ..

das && vermeidet dabei eine Überprüfung von $_POST['Mode'] == 'blub', wenn $_POST['mode'] nicht existiert (im Gegensatz zu &).
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.03.2006, 11:52 Nach oben    #10
Benutzer
 
Benutzerbild von Skinwalker
 
Registriert seit: 24.01.2006
Beiträge: 66
Standard

klar das geht dann auch...sieht aber nicht so schön aus
Skinwalker ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.03.2006, 14:23 Nach oben    #11
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

PHP-Code:
$var array_key_exists('var'$_POST) ? $_POST['var'] : 'standardwert';

if (
IOFilter::isEmail($var))
{
  
doSth();

Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zend Framework - Probleme mit Zend_Controller_RewriteRouter bzw. Form der URLs Ben PEAR, PECL und Frameworks 12 24.12.2006 17:17
Suche Hilfe: Angebot und Nachfrage berechnen ljungi Plauderecke 6 17.12.2006 22:10
Array in Bezug auf ein anderes sortieren... code5 PHP-Programmierung 2 15.05.2006 15:56
Ein Array in ein Array schreiben bacarni PHP-Programmierung 2 07.02.2006 14:24
ResultSet ins JTable = AAHHHHH ==> Array index out of range: 0 bamboocha Allgemeine Java-Programmierung 3 15.06.2005 13:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45