Fehler: Funktion gibt array zurück
Kalle_B
- php
0 Joachim0 seekwhencer0 Thorsten F.
Hallöle,
habe den Fehler
Parse error: syntax error, unexpected '[', expecting ',' or ';'
auf dieser Zeile:
echo jjjj_mm_tt2array( $row['tag'] )[0].'<br>';
die Funktion lautet:
function jjjj_mm_tt2array ( $date ) // DB-Typ date
// 2006-12-31 wird zu array 31.12. / 2006 / 06 / 7 0=Mo .. 7=So
{
$arr = array(
substr( $date,8,2 ).".".substr( $date,5,2 )."."
,substr( $date,0,4 )
,substr( $date,2,2 )
);
return $arr;
}
Wie hole ich das erste Element aus dem Array?
Und wie ermittle ich den Wochentag 0..7 ?
Gruß, Kalle
echo jjjj_mm_tt2array( $row['tag'] )[0].'<br>';
$arr=jjjj_mm_tt2array( $row['tag'] );
echo $arr[0];
Hi,
wie du selber geschrieben hast:
die Funktion lautet:
function jjjj_mm_tt2array ( $date ) // DB-Typ date
was soll dann das hier?
echo jjjj_mm_tt2array( $row['tag'] )[0].'<br>';
Ich weiß wohl, was du damit vorhast, aber du hast doch oben selber geschrieben, dass jjjj_mm_tt2array eine Funktion ist und kein Array.
Du willst ja das erste Element des Arrays ausgeben und nicht das erste Element der Funktion oder?
Also musst du schon mit der Variablen $arr arbeiten und dann von diesem das erste Element ausgeben.
Schau dir am besten Mal in den zahlreichen PHP-Tutorials, die es im Netz gibt, de Array-Funktionen an.
Grüße,
Thorsten F.
hi,
was soll dann das hier?
echo jjjj_mm_tt2array( $row['tag'] )[0].'<br>';
Ich weiß wohl, was du damit vorhast, aber du hast doch oben selber geschrieben, dass jjjj_mm_tt2array eine Funktion ist und kein Array.
Ja, aber sie liefert ja ein Array zurück ...
So eine Notation ist in anderen Sprachen durchaus üblich - aber PHP beherrscht diese m.W. nicht.
Da muss also wirklich die Array-Rückgabe erst irgendwo zwischengespeichert, und dann darüber auf die Elemente zugegriffen werden.
gruß,
wahsaga
echo $begrüßung;
echo jjjj_mm_tt2array( $row['tag'] )[0].'<br>';
Ich weiß wohl, was du damit vorhast, aber du hast doch oben selber geschrieben, dass jjjj_mm_tt2array eine Funktion ist und kein Array.
Nun ja ... sie gibt ein Array zurück, und in einigen anderen Programmiersprachen kann man dann sofort nach obiger Methode auf die Elemente zugreifen, ohne das Array erst in einer Variable ablegen zu müssen. Bei PHP geht dies aber nicht. Möchte man das Element in einer Variable haben, kann man zumindest dies mit list() erreichen.
Mittlerweile (seit Version 5) kann man wenigstens auf von Funktionen zurückgegebene Objekte direkt weiter zugreifen: $x = func()->object_property; oder $x = func()->method();
echo "$verabschiedung $name";