• ベストアンサー

PHPの変数

PHPの変数について質問です。 PHPの変数の最大長はどれくらいでしょうか? あまりに変数の値が大きいとやっぱりあふれてしまいますよね?

  • PHP
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.3

数値型に関して最大値はプラットフォーム依存のようです。 一般的に、integerは約20億(32ビット符号付)、floatはおよそ14桁で1.8e308となっているようです。 また、integerはオーバーフローすると勝手にfloatとして解釈されるとあります。更にfloatがオーバーフローすると"INF(無限大)"を返してくるようです。 一方文字列型はサイズに制限がないとあります。試したことはないですがメモリの許す限り代入可能ということでしょうか。 詳しくは以下を参照されるとよいでしょう。 http://www.php.net/manual/ja/language.types.integer.php http://www.php.net/manual/ja/language.types.float.php http://www.php.net/manual/ja/language.types.string.php

salisa
質問者

お礼

ありがとうございます。おそるべし文字列型…。

その他の回答 (2)

  • cyberhat
  • ベストアンサー率33% (1/3)
回答No.2

ここが参考になるでしょうか?

参考URL:
http://programming-magic.com/?id=69
  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.1

以下のサイトによると、無制限のようです。 http://oshiete1.goo.ne.jp/kotaeru_reply.php3?q=4355228 より引用 > 変数名の長さには、特に制限がありませんから、常識的な長さで > あれば好きな名前をつけられます。 ほんとかよ?!と思って、65536文字の長さの変数を作って 値を保存して読み出すプログラムを書いてみましたが、 正常に動作しました。 試験にあたっては、「先頭のn文字を変数と扱う」仕様が存在する 可能性を考慮し、変数名の最後の1文字を変えて読み込みエラーを 確認しました。 $aaaa = 4; echo $aaaa; // < 4という出力を期待 echo $aaab; // < エラーを期待 上記は4文字の確認ですが、これの65536文字版を作りました。 メモリの許す限りの変数を作るんですかね。 ハッシュ化でもして、どの長さの変数も一定の長さに丸められてるかも しれませんね。 ソース読めって話ですが、ちょっとそこまではやってません。 すみません。 とりあえず人間が読める範囲の変数名は長くても作れそうですね。

salisa
質問者

補足

すみません。変数名の長さではなく変数の大きさです。 でも、変数名の長さに制限がないのはすごいですね!

関連するQ&A

  • PHPでボタンをクリックすると変数が10増えるようにするには?

    PHPでボタンをクリックすると変数が10増えるようにするには? PHPについて、全くの初心者の者です。 幼稚な質問で恐縮ですが、PHPのソースの中に、 ボタンを作って、そのボタンをクリックすると、 変数$maxの値が10増えるようにするには、 どういうソースを書けば良いのでしょうか?

  • php 変数(変数名)の結合について。

    php 変数(変数名)の結合について。 こんばんは。 phpでホームページを作成しておりますが どうも上手く動かないのでこちらに質問させて頂きました。 変数名$testに数字を連番で付け、 $test0 = (値1,値2,値3,・・・) $test1 = (値1,値2,値3,・・・) $test2 = (値1,値2,値3,・・・) と各変数に配列を代入したいと考えています。 そこで、for文を使用し、 for($i=0; $i<10; $++) {  $test.$i = (値1,値2,値3,・・・) } と記述た所、上手く動作せずに困っております。 二次元配列での代入は可能だと思いますが $test[0] = (値1,値2,値3,・・・) $test[1] = (値1,値2,値3,・・・) $test[2] = (値1,値2,値3,・・・) for($i=0; $i<10; $++) {  $test[$i] = (値1,値2,値3,・・・) } ※ 実験してませんけど・・・。 なるべく二次元は使わないで処理したく思いますが やはり二次元配列のが合理的でしょうか・・・。 その点も踏まえ、何方かご教授頂ければ幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • JSの変数をphpに受け渡す

    JSの変数 var w の値を、phpに、$abc = w; に受け渡し、 printf($abc); 表示する方法について、 それほど、難しいことではないかと思ったのですが、 解決できず、質問にいたりました。

  • perlからphpに変数の値を渡したい

    素人質問で恐縮です。 perlからphpに変数の値を渡す事は可能でしょうか。 同一サーバー内に、/hoge/aaaa.pmと/sample/bbbb.phpがあります。 置き場所はそれぞれで特に関連性はありません。 aaaa.pm内で定義した my $data = "あいうえお"; のような変数を、 bbbb.php内で受け取って使いたいです。 jQuery.ajaxでphpとjs間で変数の受け渡しが可能なのですが、 そんなイメージでやり取りできたらいいなと思っています。 難しい話であれば諦めます。 perlもphpも素人ですが、簡単なやり取りで済みそうなら取り入れたいです。 不明点などありましたら、ご質問ください。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • javascriptからPHPに変数を渡したい

    Javascriptで制御しているクライアントのページと PHPで制御しているサーバ側のページがあります。 クライアント側のページで生成したJavascriptの変数の値を サーバ側のページに送りPHPで処理したいと考えています。 どのようにすれば変数の値を送ることが出来るでしょうか? 出来ればフォームを使わずに内部処理で行いたですが、 出来なければフォームでも構わないのです。 簡単で構わないので例文を頂けると非常に助かります。 まったくの初心者で恐縮ですが、教授よろしくお願いします。

  • HTMLとPHPを分けた時の変数?について

    HTMLで値などを入力し、PHPで処理をする方法として、 ネットのサンプルソースでどの様に行われているか見たところ、 HTMLにてC言語でいう所の変数らしきものが無く、 また、PHPにも書く値に等しい変数が見受けられませんでした。 HTMLで値を入力してどの様にPHPに渡っているのか分からなかったのでご教授願いたいと思い書き込みました。 参考 eweb メールフォーム・アンケートフォーム 参考にしたソースは「Sample 1:アンケートフォーム」になります http://php.eweb-design.com/1301_mail.html 何卒宜しくお願い致します。

    • 締切済み
    • PHP
  • PHP staticな変数

    phpでstaticな変数について教えてください。 ユーザの情報をstaticな変数に格納した際に、誰からでも参照できてしまうのでしょうか? 例えば今ログイン情報を格納するstatic変数があり、ログイン情報を取得してそのstatic変数に値を格納するstaticなメソッドがあるとします。このメソッドは、その変数にまだ値がない場合に、ログイン情報取得してそのあとその変数へ格納し、その変数にすでに値があった場合に、その変数の中身を返す仕様だとします。最初のユーザAがアクセスしてきてその変数にAの情報を格納します。ほぼどうじにユーザBがアクセスしてきた場合は、そのメソッドを呼んだ際に直前に格納されたAの情報が取れてしまうのでしょうか?それともそのstaticな変数にはまだ何もないのでしょうか?よく分かりません。私は間違って理解してしまってるのでしょうか?宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHPでクリックすると変数が10増える方法は?

    PHPでクリックすると変数が10増える方法は? PHPの全くの初心者です。 PHPのソースの中にある変数$maxの値を好きな時に10増やすため、 どこかをクリックすれば、$max+=10; が演算されるようにしたいのですが、 どういうソースを書けば、好きなタイミング(クリック時)に、 $max+=10; とすることが出来るでしょうか?

  • phpから値をとってきて変数に格納するには?

    phpから値をとってきて変数に格納するにはどうすればいいのでしょう? ちなみにjavascriptはほとんどさわったことのない初心者です。 やりたいことを具体的に説明します。 p.php 「 <?php yy = "test string"; //?(1) ?> 」 js.html 「 <script language="javascript"> var xx; //?(2) </script> 」 最終的に、php内の変数「yy」の内容をjavascriptの変数「xx」にいれたいのです。 よろしくお願いします。

  • PHPの変数の渡し方

    現在以下のような位置関係のファイルでa.phpからb.phpに変数を渡したいのですが、うまく行きません。 ├dir1 │ └a.php └dir2   └b.php a.php <?php public function a(){ $value = "test"; } ?> b.php <?php public funcition b(){ print($value); } ?> phpについてwebで調べ、a.phpで$valueをglobalにしてb.phpでは 関数内でinclude('../dir1/a.php')を記述して$GLOBALS['$value']を 使ってみたのですが、うまく値がとれませんでした。 a.phpで変数をテンプレートに設定して $smarty->Set('Value', $value); それをb.phpで取得しようとしたのですが $smarty->getTemplateVars(Value); 取得する事ができませんでした。 同じようにgeTTemplateVarsを使って別のphpでは取得出来たりするのですが、 このsmartyのスコープ?というのもわかりません。 phpScheduleItというスケジュール管理のパッケージを触っていて、 php自体初めてで深い実装が全て追えていません。 勉強不足で申し訳ないのですが、何かヒントとなる事がありましたらご教示頂けますでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう