2011-08-17 6 views
0

可能性の重複:
What is basic difference echo Vs printPHPのエコーとprint文

は、エコーとプリントステートメントはほとんど同じですが、彼らはいくつかの違いがあります。 たとえば、printステートメントは成功した場合は1を返します。 またはechoステートメントで に値が返されない場合は、値が0になります。

なぜ、printステートメントが成功すると値1を返します。エコーはではありません。

return print json_encode($my_data); 

それは、戻り値とは全く何もしませんが、それが終了します。私は実際にAjaxの呼び出しで印刷「機能」の戻り値の利点を撮影したあなたの

+1

いずれも言語構成です。 'print'は関数/式のように振舞いますが、' echo'は文としてしか使用できません。 – mario

+0

私が質問を正しく理解していれば、これはエコーが一種の使用であり、操作を忘れるような設計によって行われた可能性があります。 @mario:エコーだけが文として使われているということをもっと詳しく説明できますか? –

+0

'echo'は、出力する可変数の引数を受け付けます。しかし、かっこなしで使用された場合にのみ実行されます。そして、これはあいまいで、表現の中では分かりづらいでしょう。そのため、 'echo'は文としてのみ使用できます(行内のコマンドのみを意味します)。 - その他のリンク:http://stackoverflow.com/questions/3542745/differences-between-echo-echo-print-and-print-in-php – mario

答えて

1

に感謝

echo json_encode($my_data); 
die(); 

を書いて少しきれいな方法です。しかし1が何かを返し、他にはない理由として....おそらくそれのためにひどい正当な理由ではありません。現在のスクリプトの実行、私は、それが原因でエコーが非常にわずかに(無視できるほど)速いのに対し、プリントは前述のような奇妙な使用法を持っていると思っています。

print()については、言語構成ではなく機能ですが、私はあなたにread the manualと言います。それはあまりにも言語構造です。