#25459 [Opn->Csd]: expressions, echo/return and strings

From: Date: Tue, 09 Sep 2003 22:47:09 +0000
Subject: #25459 [Opn->Csd]: expressions, echo/return and strings
References: 1  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969356246@lists.php.net to get a copy of this message
ID: 25459 Updated by: philip@php.net -Summary: ternary goes crazy Reported By: blackei2k at gmx dot de -Status: Open +Status: Closed Bug Type: Documentation problem PHP Version: 4.3.2 New Comment: This is also in the faq: http://www.php.net/manual/en/faq.using.php#faq.using.wrong-order Previous Comments: ------------------------------------------------------------------------ [2003-09-09 17:21:05] kennyt at kennyt dot com and that really should be '<td>' and '<td>haha</td>' :-) ------------------------------------------------------------------------ [2003-09-09 17:19:15] kennyt at kennyt dot com function foo() { echo "foo"; } this should be function foo() { return 'foo'; } that's why your output isn't within the <td/> tag. ------------------------------------------------------------------------ [2003-09-09 13:35:32] blackei2k at gmx dot de Description: ------------ I'm using the ternary operator which calls a function. The output is not there where it should be, but a few liens above. I don't get any errors. Reproduce code: --------------- function foo() { echo "foo"; } ... while($obj = mysql_fetch_object($result)){ echo ($obj->id == $id ? "<td>".foo()."</td>" : "<td>haha</td>"); } Expected result: ---------------- that the output is where it should be. i'm listing rows and only in one row ($obj->id == $id) is true. the output of foo can be found dozens of lines above from where it should be. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25459&edit=1

« previous php.doc (#969356246) next »