php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.05.2005, 19:09  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard @Foreach?

Hallo,
ich weiß ja dass ein Fehlermeldungen des jeweiligen Befehls unterdrückt.. Nur jetzt die Frage - @Foreach geht nicht?
Code:
@Foreach($header->to AS $tmp_to) {
		$mailcontent['to'][$count]['adl'] = $mail->to[$count]->adl;
Das @Foreach funktioniert nicht, ich bekomm folgende Meldung:
Zitat:
Parse error: parse error, unexpected T_FOREACH in /var/www/web229/html/getmails/index.php on line 42
..

An was liegt das? Ich kann foreach ja auch umgehen, indem ich prüfe ob ein das stdClass-Objekt mehr als 1 Array hat, aber meine Frage bezieht sich jetzt generell auf Foreach - ist da wirklich kein @ davor möglich?[/i]
Chr!s ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.05.2005, 19:16  
Gast
 
Beiträge: n/a
Standard

@foreach(...) geht nicht; ohne @ schon.
 
Alt 20.05.2005, 19:17  
Gast
 
Beiträge: n/a
Standard

ich glaub es war
foreach (@
und nicht
@foreach(

aber da ich fehler sofort behebe und nicht unterdrücke,
weiss ichs nich genau :>
also solltest du die ursache finden und nicht
einfach unterdrücken...das könnte fatale folgen haben
 
Alt 20.05.2005, 19:17  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Das ist mir schon klar aber wieso funktinoiert es nicht mit @?

//edit
Mir ist schon bewusst was ich unterdrücke, das ist in diesem Fall kein Problem, ich lese bloß ein ARray aus
Und foreach(@ geht auch nicht.. Dann muss ich wohl oder übel doch mit IF-Abfragen arbeiten
Chr!s ist offline  
Alt 20.05.2005, 19:18  
Gast
 
Beiträge: n/a
Standard

ehm foreach(@$x...
schon probiert...?
 
Alt 20.05.2005, 19:20  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Siehe oben, schon probiert, funktioniert aber auch nicht..
Code:
Foreach(@$header->to AS $tmp_to) {
Chr!s ist offline  
Alt 20.05.2005, 19:22  
Gast
 
Beiträge: n/a
Standard

Die Fehlermeldung "unerwartetes foreach" läßt eher vermuten, daß die vorhergehenden Anweisung nicht abgeschlossen wurde.
 
Alt 20.05.2005, 19:23  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Hm.. hier mal der Code-Abschnitt:
Code:
	$mailcontent = array();
	$mailcontent['header']['date'] = $mail->date;
	$mailcontent['header']['subject'] = $mail->subject;
	$mailcontent['header']['toaddress'] = $mail->toaddress;
	$mailcontent['header']['message_id'] = $mail->message_id;

	Foreach(@$header->to AS $tmp_to) {
		$mailcontent['to'][$count]['adl'] = $mail->to[$count]->adl;
		$mailcontent['to'][$count]['host'] = $mail->to[$count]->host;
		$mailcontent['to'][$count]['email'] = $mail->to[$count]->mailbox.'@'.$mail->to[$count]->host;
		$mailcontent['to'][$count]['mailbox'] = $mail->to[$count]->mailbox;
		$mailcontent['to'][$count]['personal'] = $mail->to[$count]->personal;
		$count ++;
	}
.. Wenn ich mir echo count($header->to) ausgeben lasse bekomme ich "0" raus, in $mailcontent['to'][$count] habe ich aber dennoch Inhalte..?
Das ganze ist eine stdClass mit Arrays (bekomme ich wenn ich imap_header ausführe)

Und die Fehlermeldung lautet ja:
Code:
Warning: Invalid argument supplied for foreach() in /var/www/web229/html/getmails/index.php on line 42
, das ist was anderes aus unerwartetes foreach
Chr!s ist offline  
Alt 20.05.2005, 19:28  
Gast
 
Beiträge: n/a
Standard

meikel:nein, ein simples
PHP-Code:
<?php @foreach($a as $b) { } ?>
gibt schon diese fehlermeldung aus.

http://de3.php.net/manual/en/languag...rorcontrol.php
Zitat:
Note: The @-operator works only on expressions. A simple rule of thumb is: if you can take the value of something, you can prepend the @ operator to it.
---
Zitat:
Foreach(@$header->to AS $tmp_to)
$header->to ist nicht gesetzt, @ unterdrück die Warnung. Aber php setzt $header->to als NULL und das ist kein array, also jammert foreach.
 
Alt 20.05.2005, 19:29  
Gast
 
Beiträge: n/a
Standard

hab grad was schönes gelesen =)
Zitat:
Zitat von http://de3.php.net/manual/de/language.operators.errorcontrol.php
Anmerkung: Der @-Operator funktioniert nur bei Ausdrücken. Eine einfache Daumenregel: wenn Sie den Wert von etwas bestimmen können, dann können Sie den @-Operator davor schreiben. Zum Beispiel können Sie ihn vor Variablen, Funktionsaufrufe und vor include() setzen, vor Konstanten und so weiter. Nicht verwenden können Sie diesen Operator vor Funktions- oder Klassendefinitionen oder vor Kontrollstrukturen wie zum Beispiel if und foreach und so weiter.
damit sollte deine frage beantwortet worden sein

//edit:
Ha,meins ist aber auf deutsch :P *g*
 
 


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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php @foreach, @foreach php, php chr foreach

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