① PHPのソースコードです。
-----------------------------
<?
print print "こんにちは";
?>
----------------------------
①をブラウザで見ると
---------------------------
こんにちは1
---------------------------
と表示されます。
なぜ ブラウザでは「こんにちは1」表示されるか?の
参考書説明が以下です。
-------------------------------------------------------------------------------
この場合、「こんにちは1」と表示されます。
これは、右の「print"こんにちは"」が「こんにちは」を書き出して、しかも
返した値である「TRUE(1)」を、左の「print」が書き出しているのです。
-------------------------------------------------------------------------------
以上ですが ブラウザがソースを読み込む流れは
「左~右へとブラウザが読む」のであれば!
参考書の
「TRUE(1)」を、左の「print」が書き出している
とありますが「左の「print」」値が「1」であれば
1こんにちは
と表示される というのが プログラムの流れからして
「理にかなっている」と思います。
なんで
こんにちは1
と表示されなければいけないのでしょうか!?
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
ソースを「左から右」へ読むからといって、実行の順序が「左から右」となるとは限りません。
左のprintは、表示する値(=右のprintの返す値「TRUE(1)」)が判明するまで表示できません。
右のprintが「TRUE(1)」を返すのは、"こんにちは"を表示した後です。
従って、"こんにちは"の後に"1"が表示されます。
早(朝)々ご回答くださいまして、ありがとうございました。
なるほどですね
この場合!
全体のプログラムを読みだ後に
ブラウザが判断し
表示の前後が決まる。
No.3
- 回答日時:
他の方も回答されていますが
普通のブラウザにPHPのソースコードを解釈する機能はありません。
PHPのコードを解釈してHTMLに変換しているのはWebサーバで、
ブラウザはWebサーバが出力したHTMLを表示しているだけです。
ブラウザはPHPのソースコードを読み込みません。
ご指摘くださいましてありがとうございます。
どうもすみません!
私が質問した内容ですが
「・・・ブラウザがソースを読み込む流・・・」
ではなくて
サーハ゛がPHP のソースを読み込んでいるでしたね
納得です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- その他(プログラミング・Web制作) awkの正規表現での最左最短マッチング 3 2022/07/01 00:10
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Ruby プログラミング 3 2023/06/09 14:30
- その他(コンピューター・テクノロジー) Pythonの np.indicesに関する質問です。 2 2023/02/07 08:19
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスキーについて
-
<A href ~で複数の値を渡したい
-
なぜエラーが出るのか分からな...
-
PHPのreturn文で関数の値が反映...
-
split関数とexplode関数の違い...
-
PHPを勉強中なのですが一点わか...
-
日付を基にした乱数生成
-
switch文で2つ以上の変数の値...
-
Windowsのマクロプログラムで、...
-
protectedなのにアクセスできな...
-
VBA内でのGetPixelを使用した時...
-
IPアドレスとMACアドレスを取得...
-
バッチファイルでpingの結果を...
-
IEを使わないでhtmlテキストを...
-
複数のサーバで運営する場合の...
-
Google scholarがひらけなくな...
-
【C#】DataGridViewの最大列数...
-
switch()文で値の大小比較
-
mixi graph apiのログイン状況...
-
Dosブロンプトでtabを出力したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
「次の10件を表示する」のよ...
-
テーブルに送信ボタンをつける
-
日付を基にした乱数生成
-
PHPのif文「POSTしていな...
-
PHPでwait処理ってできます?
-
POSTされたかどうか確かめる方...
-
microtime関数は、結構イイカゲ...
-
Google chart API 、PHP、MySQL...
-
PHP ハイパーリンク
-
vbYesNoの使い方
-
if (isset($_a)&&$_a)この意味は
-
アクセスキーについて
-
<python>戻り値
-
「ソースコードは 左~右へと読...
-
Luaにて、and or の組み合わせ...
-
PHP5で 定義されているINFの実...
-
null代入とunset()の違いについて
-
2個のプログラムは結果は同じ...
-
五十音表示したいのですが、SQL...
おすすめ情報
以下で納得しました。
------------------------------------
「ソースコードは 左~右へと読み込まれる」
print print "こんにちは";
ㅤㅤよしよし、'print'(左)だな、何をprintすればいいんだ?
ㅤㅤ右にあるものを評価してやろう。
ㅤㅤㅤㅤよしよし、'print'(右)だな、何をprintすればいいんだ?
ㅤㅤㅤㅤ右にあるものを評価してやろう。
ㅤㅤㅤㅤㅤㅤよしよし、"こんにちは”だな。
ㅤㅤㅤㅤㅤㅤこんにちはをprintへ返してやろう
ㅤㅤㅤㅤおっ?評価した結果が返ってきた。
ㅤㅤㅤㅤ"こんにちは"だな。出力してやろう。
ㅤㅤㅤㅤよし、うまくいった。True(1)を返してやろう。
ㅤㅤおっ?評価した結果が返ってきた。
ㅤㅤ"True(1)"だな。出力してやろう
ㅤㅤよしよし、うまくいった。True(1)を返してやろう。
No.1回答者: siffon9 さんの ご回答~です。
表示する値(=右のprintの返す値「TRUE(1)」)が判明するまで表示できません。
以上ですが!
プログラムの流れからして!
最初に「左」の print が 「右」 print を見に行った場合 同じ関数なので
左の print は 文字としての判断ができない!
次に右のprint の 右側に "こんにちは" があるので だから
文字列と判断して 最初に 処理されて 「こんにちは」
と表示される これを 判断1 とした場合
次の判断に移行して、左の print は 何も判断する 内容がないので
自分の値である(1)を最後に返すことになり
この場合、最後に1の「こんにちは1」と表示されます。
以上ですが 「MySQLの専門書」の内容では
PHPを詳しく説明なされなかった!