電子書籍の厳選無料作品が豊富!

プログラム初心者です

変数について教えてください

質問1
変数に代入する値の中で改行しても問題ないでしょうか?

while ($table = mysqli_fetch_assoc($recordSet)) {

$cells .= "<tr>
<td>{$table['id']}</td>
<td>{$table['name']}</td>
<td>{$upday}</td>
</tr>".PHP_EOL;

}

質問2
変数に格納できるものはなんでもありですか?関数も入りますか?
こんなことはしないですが実験的にやってみたら表示されました
$hoge = print "hoge";

戻り値がないもの、この場合は、出力結果がはいるのでしょうか?

よろしくお願いします

A 回答 (4件)

【回答1】



Notepad++なんかのエディタで「制御文字を表示」オプションを有効にすると改行コードとかが全部見えて面白いですよ。もちろんそれらは普通の文字と同じです。

ASCIIコード表
http://e-words.jp/p/r-ascii.html

1バイトで表せる文字はこれだけです。改行などの制御文字は半角英数字などととともにここに入っています。これに2~4バイトで表す文字が加わったのがUTF-8です。UTF-8はASCIIの上位互換と言われます。

UTF-8コード表
http://www.seiai.ed.jp/sys/text/java/utf8table.h …


【回答2】

print命令は常に「1」を返し、このように文の “一部” にすることが出来ます。言い換えれば「式」になれるということです。一般的な関数の振る舞いに非常によく似ています。

echo命令は「式」になれず、それ自体で1文を構成することしか出来ません。その代わり、print命令よりもわずかに高速に動作し、更にカンマ区切りで複数のecho命令を一つにまとめることが出来ます。




それと以前の質問に対する補足ですが(締め切られてしまったので)

複雑な正規表現で100回実行するのと、file_get_contentsで外部からHTTP経由でファイルを1つ拾ってくるんだったら、おそらく前者の方が軽いぐらいだと思うので、マシンスペック云々で正規表現は妥協しなくてもいいと思いますよ。複雑な正規表現であっても、その処理はC言語にコンパイルされて一括で高速に実行されるためですね。それよりもダラダラとPHPコードを書き連ねたりE_NOTICEやE_WARNINGを無視する方がパフォーマンスに響いてくると思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
改行はいっても大丈夫そうですね
printとenhoは結構違うんですね勉強になりました

お礼日時:2013/10/26 12:00

(連投失礼します)



ベンチマーク取ってみました
http://qiita.com/mpyw/items/1e422848030fcde0f29a …
    • good
    • 0
この回答へのお礼

本当だ、速い!
この前の質問はすいません、無知でした

お礼日時:2013/10/26 12:01

回答1


他の「文字」は「表示すると、その『文字』が表示される」というもの
「改行文字」は、「表示すると、『改行』が表示される」というもの
見た目が違うだけで、コンピュータにとっては同じ「文字」です。

回答2
> 戻り値がないもの、この場合は、出力結果がはいるのでしょうか?

http://www.php.net/manual/ja/function.print.php
より
> 返り値
> 常に 1 を返します。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
つまり、改行あってもいいってことですよね?
1を返すのですか・・・んんもうちょっと調べてみます

お礼日時:2013/10/26 11:58

ドキュメントを読む気はありませんか?

    • good
    • 0
この回答へのお礼

よんでみます

お礼日時:2013/10/26 11:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!