作者 主題: php緩衝輸出,不要每一列都 echo輸出  (閱讀 5554 次)

0 會員 與 1 訪客 正在閱讀本文。

g220132110

  • 憂鬱的高中生
  • ***
  • 文章數: 95
    • 檢視個人資料
問題:不想要一列一列 echo輸出,故先將輸出資料放在變數$out,最後共一次echo輸出,請教怎麼寫?thanks.

<?php
   //每次輸出
   echo  "<p align=center><font size=5>選擇:繳交梯次</font>";
   echo  "<select size='1'  name='go_cat'>";
   for($i=1;$i<5;$i++){
      echo  "<option value=1 ";
      echo  $i;
      echo  ">";
      echo  "作業:".$i ;
      echo  "</option>";
   }
   echo  "</select>";
?>

<?php
   //最後一次輸出,失敗了,為什麼?
   $out=$out +  "<p align=center><font size=5>選擇:繳交梯次</font>";
   $out=$out +  "<select size='1'  name='go_cat'>";
   for($i=1;$i<5;$i++){
      $out=$out +  "<option value=1 ";
      $out=$out +  $i;
      $out=$out +  ">";
      $out=$out +  "作業:".$i ;
      $out=$out +  "</option>";
   }
   $out=$out +  "</select>";
   
   echo $out;   //這裡要怎麼寫?
?>

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #1 於: 2009-05-01 17:25 »
字串連接是用 . 比較正確吧.
如果你認為是用 + 的話... 為什麼上頭有一個地方是用 . 呢?

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #2 於: 2009-05-02 23:47 »
怎麼會用加呢?

先學會 PHP 的基本語法吧

http://tw2.php.net/echo

可以用 , 或者是 . 來相加字串
« 上次編輯: 2009-05-04 23:08 由 appleboy »

歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #3 於: 2009-05-03 09:12 »
用加很直覺, 對初學者來說, 應該是很常犯的錯誤, 沒啥好笑的吧~~
就像我在php習慣用 . 卻常常不小心在 java 程式裡也用 . 來連接字串

建議樓主找本 php 入門書做點基礎功課!!

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #4 於: 2009-05-03 09:18 »
用加很直覺, 對初學者來說, 應該是很常犯的錯誤, 沒啥好笑的吧~~
就像我在php習慣用 . 卻常常不小心在 java 程式裡也用 . 來連接字串

建議樓主找本 php 入門書做點基礎功課!!

我剛好跟你相反,在 java 裡面常常用 .

但是還蠻多程式都可以用 + 的,python .. 等

歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY

g220132110

  • 憂鬱的高中生
  • ***
  • 文章數: 95
    • 檢視個人資料
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #5 於: 2009-05-04 17:32 »
PS:教授上課的時候注重的是演繹過程,不是那麼Care標準的語法‧

我要問的不是「用 + 或 .」,請不要再指證這個地方,況且兩個都可以吧!
以下請教,兩種都試了還不行,是不是 「+或.」都錯了,要改甚麼呢?
<?php
   //最後一次輸出,失敗了,為什麼?

   $out=$out .  "<p align=center><font size=5>選擇:繳交梯次</font>";
   $out=$out .  "<select size='1'  name='go_cat'>";
   for($i=1;$i<5;$i++){
      $out=$out .  "<option value=1 ";
      $out=$out .  $i;
      $out=$out .  ">";
      $out=$out .  "作業:".$i ;
      $out=$out .  "</option>";
   }
   $out=$out .  "</select>";
   
   echo ${$out};

?>

<?php
   //最後一次輸出,失敗了,為什麼?
   $out=$out +  "<p align=center><font size=5>選擇:繳交梯次</font>";
   $out=$out +  "<select size='1'  name='go_cat'>";
   for($i=1;$i<5;$i++){
      $out=$out +  "<option value=1 ";
      $out=$out +  $i;
      $out=$out +  ">";
      $out=$out +  "作業:"+$i ;
      $out=$out +  "</option>";
   }
   $out=$out +  "</select>";   
   echo ${$out};
?>

如果你要笑我,請告訴我答案再笑‧

吐槽一下:
appleboy問過的mysql問題:  http://phorum.study-area.org/index.php/topic,35513.0.html
我知道答案,怎麼樣? 是不是可以先笑你的問題很簡單,要你去www.mysql.com  學好再來問嗎?
« 上次編輯: 2009-05-04 17:41 由 g220132110 »

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #6 於: 2009-05-04 18:01 »
PS:教授上課的時候注重的是演繹過程,不是那麼Care標準的語法‧

我要問的不是「用 + 或 .」,請不要再指證這個地方,況且兩個都可以吧!
以下請教,兩種都試了還不行,是不是 「+或.」都錯了,要改甚麼呢?
<?php
   //最後一次輸出,失敗了,為什麼?

   $out=$out .  "<p align=center><font size=5>選擇:繳交梯次</font>";
   $out=$out .  "<select size='1'  name='go_cat'>";
   for($i=1;$i<5;$i++){
      $out=$out .  "<option value=1 ";
      $out=$out .  $i;
      $out=$out .  ">";
      $out=$out .  "作業:".$i ;
      $out=$out .  "</option>";
   }
   $out=$out .  "</select>";
   
   echo ${$out};

?>

echo ${$out}; 改成 echo $out;

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #7 於: 2009-05-04 18:06 »
你是不是要這樣寫啊?
代碼: [選擇]
<p align=center><font size=5>選擇:繳交梯次</font>
<select size='1' name='go_cat'>
<?php
$mSout
=&#39;&#39;;
for($i=1;$i<5;$i++)
 
$mSout.= "<option value=$i>作業:$i</option>";

echo 
$mSout;

?>

</select>

寫那麼多$跟+不覺得眼花嗎?
lifeIsFunWithPHP.

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #8 於: 2009-05-04 18:09 »
哈哈哈...幹嘛要 echo ${$out};
為什麼不把基本語法看熟了...

引用
PS:教授上課的時候注重的是演繹過程,不是那麼Care標準的語法...
但是你錯得就是語法!!!!

至於這個...
引用
吐槽一下:
appleboy問過的mysql問題:  http://phorum.study-area.org/index.php/topic,35513.0.html
我知道答案,怎麼樣? 是不是可以先笑你的問題很簡單,要你去www.mysql.com  學好再來問嗎?

我相信你這篇出來後,沒有人會想再跟你好好討論了..
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #9 於: 2009-05-04 21:54 »
問的人跟答的人心態都有問題,笑人家的錯在先,我老實不客氣說。

哪個高手不是從菜鳥熬過來的?哪個高杆的程式設計師沒有犯過可笑的錯誤?笑人家,本就不該,更何況笑人家的也未必就是高手,只是自己這樣認為而已罷了,人外有人天外有天,謹記這句話吧!

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #10 於: 2009-05-04 23:09 »
問的人跟答的人心態都有問題,笑人家的錯在先,我老實不客氣說。

哪個高手不是從菜鳥熬過來的?哪個高杆的程式設計師沒有犯過可笑的錯誤?笑人家,本就不該,更何況笑人家的也未必就是高手,只是自己這樣認為而已罷了,人外有人天外有天,謹記這句話吧!

嗯嗯,受教了,大家都是過來人,先跟原po說聲抱歉,本來沒有嘲笑您的意思

再次跟您說聲抱歉,有點偏離主題。


歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #11 於: 2009-05-05 01:00 »
樓主也不要那麼生氣,該回去蹲蹲PHP馬步還是要的啦,縱使你習慣跟ASP/Java/C++稱兄道弟。

感覺好像螢老大給10樓都k到了喔,安泥卡好?
lifeIsFunWithPHP.

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #12 於: 2009-05-05 09:02 »
你是不是要這樣寫啊?
代碼: [選擇]
<p align=center><font size=5>選擇:繳交梯次</font>
<select size='1' name='go_cat'>
<?php
$mSout
=&#39;&#39;;
for($i=1;$i<5;$i++)
 
$mSout.= "<option value=$i>作業:$i</option>";

echo 
$mSout;

?>

</select>

寫那麼多$跟+不覺得眼花嗎?
應該不是 一樓有寫 (故先將輸出資料放在變數$out,最後共一次echo輸出)
因為這是教授的題目...所以雖然結果是一樣但應該不行
如果要這樣寫要加 ob_start(); ob_get_contents(); ob_end_clean();

fillano

  • 鑽研的研究生
  • *****
  • 文章數: 526
    • 檢視個人資料
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #13 於: 2009-05-05 09:12 »
如果你要笑我,請告訴我答案再笑‧

吐槽一下:
appleboy問過的mysql問題:  http://phorum.study-area.org/index.php/topic,35513.0.html
我知道答案,怎麼樣? 是不是可以先笑你的問題很簡單,要你去www.mysql.com  學好再來問嗎?

恩,他那個問題是2005年問的,現在是2009年喔。

你要吐槽的話,也注意一下時間啦,否則證據力不是很好。另外,從這裡也可以看到蘋果大也是這樣一路學習下來的,不是嗎?你要吐槽,不如想辦法跟他吐CodeIgniter,這樣會更有正面效果。
Sapere aude! Habe Mut, dich deines eigenen Verstandes zu bedienen! ist also der Wahlspruch der Aufklärung.

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
回覆: php緩衝輸出,不要每一列都 echo輸出
« 回覆 #14 於: 2009-05-05 09:28 »
依micmic盛情要求,端出manual版雜燴,加豬腸加蘿蔔加魚蛋。

代碼: [選擇]
<?php

function callback($buffer)
{
  
// replace all the apples with oranges
  
return (str_replace("apples""oranges"$buffer));
}

ob_start("callback");
?>

<html>
<body>
<p>It's like comparing apples to oranges.</p>

<?php
$mSout1 
ob_get_contents();
?>


<p align=center><font size=5>選擇:繳交梯次</font>
<select size='1' name='go_cat'>
<?php
$mSout
=&#39;&#39;;
for($i=1;$i<5;$i++)
 
$mSout.= "<option value=$i>作業:$i</option>";

echo 
$mSout;

?>

</select>
<?php
$mSout2 
ob_get_contents();
?>

</body>
</html>
<!--

<?
var_dump($mSout1.$mSout2);
?>

-->
<?php

ob_end_flush
();

?>

看了我頭都暈了,還是MVC跟OOB比較乾淨。
lifeIsFunWithPHP.