• ベストアンサー

私の考えがそもそも、間違っていたならごめんなさい。

 まだまだ素人ですが! <?php $var = 1; var_dump(isset($var)); // true var_dump(isset($var1); // fals   以上参考書のプログラムです。 以上プログラムの最後に echo 何々; と組めば実行結果が得られる代物でしょうか!  すみません!  参考書では isset() の説明をしているのですが、私としては、実行結果を知りたいです。 私の考えがそもそも、間違っていたならごめんなさい。  宜しくお願いいたします。

  • PHP
  • 回答数2
  • ありがとう数14

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

  • ベストアンサー
noname#244856
noname#244856
回答No.2

これぐらいは自分で解決できないとまずいですよ… var_dump(isset($var1); ↓ 明らかに「)」が足りません var_dump; ↓ これは何・・・?

Campus2
質問者

お礼

ご回答誠にありがとうございます。 すみません!簡単プログラムも分からないで_ _   ご回答をもとに、以下のプログラムを組みました。 <html> <head> <meta charset="utf-8"/> <title>P42 var_dump.php</title> </head> <body> <?php $var = 1; var_dump(isset($var)); // true var_dump(isset($var1)); // fals var_dump(isset($var1)); ?> </body> </html>    以上です。 実行結果は以下で  bool(true) bool(false) bool(false)  成功と考えれれます。 しかし、できました!できました^^ やる気が出てきました。  素人回答も! 疲れると思いますが、今後とも宜しくお願いいたします。 ありがとうございました。

その他の回答 (1)

noname#244856
noname#244856
回答No.1

echoだと文字列としてしか表現できないので、さまざまな値を "型が分かる状態で" 適当な文字列で出力してくれるのがvar_dump関数です。動作テストではechoよりもvar_dumpの方が有用です。 var_dump http://www.php.net/manual/ja/function.var-dump.php issetの結果は論理型で返され、それらの値が文字列型に変換されたとき True → "True" False → "False" となるわけではありません。実際には True → "1" False → "" となってしまい、確認しづらいです。 「True」「False」といった形のまま確認したければechoではなくvar_dumpを使う必要があります。

Campus2
質問者

補足

レス誠にありがとうございました。  すみません  よくわからなかったので、取り合えず!  以下のプログラムにしてみました。 <html> <head> <meta charset="utf-8"/> <title>P42 var_dump.php</title> </head> <body> <?php $var = 1; var_dump(isset($var)); // true var_dump(isset($var1); // fals var_dump; ?> </body> </html> 以上ですが!以下のエラーとなってしまいました。  すみません、お手数ですが、ご教授を宜しくお願いいたします。 Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\study.localhost\P42 var_dump.php on line 11

関連するQ&A

  • var_dumpのdump意味はを知りたいです。

    <?php $var =1; var_dump(isset($var)); // true var_dump(isset($var1)); // false 以上dumpの意味が分かりません!? どんなときに使用するのでしょうか?  宜しくお願いします。

    • ベストアンサー
    • PHP
  • $argv[1]) && $argv[1]・同じ

     以下のプログラムですが! <html> <head> <meta "charset=utf-8" /> <title>論理演算子</title> </head> <body> <?php if(isset($argv[1]) && $argv[1]) { echo '与えられた引数は真です',PHP_EOL; } else{ echo '引く数が与えられていないか、与えられた引数が真ではありません' ,PHP_EOL; } ?> </body> </html> 以上のプログラムの実行結果は以下となりました。    引く数が与えられていないか、与えられた引数が真ではありません 以上の実行結果は”真でありません”と出ています。    $argv[1]) && $argv[1]・・・&&は理論積の、両辺は同じなのでtrueならばtrueの真だから、  "与えられた引数は真です"と出るのではないんでしょうか!?  以上よろしくお願いします。

    • ベストアンサー
    • PHP
  • 型変換プログラムで

      以下の型変換プログラムで質問です!? PHPレベルは下の下です。 <html> 1 <head> 2 <title>型変換</title> 3 </head> 4 <body> 5 <?php 6 $var = TRUE; 7 print (gettype($var). "<br />"); 8 $var=100; 9 print (gettype($var). "<br />"); 10 $var=100.001; 11 print (gettype($var). "<br />"); 12 $var="TRUE"; 13 print  (gettype($var)); 14 ?> 15 </body> 16 </html>   以上ですが、result(実行結果は)以下です。  boolean integer double string  以上の実行結果で疑問に思うことは、 同じ変数のTRUEでありながら プログラムの6の実行結果の”boolean”と   プログラム12の”string”の実行結果と違いがあるのはなぜですか!?  ※agunuz 回答禁止    宜しくお願いします。

    • ベストアンサー
    • PHP
  •  %php stringcast.php 100

    <?php // stringcast.php if (!isset($argv[1])) { exit; } $num = $argv[1]; if ($num == 100) { echo "num is 100", PHP_EOL; } else { echo "num is not 100",PHP_EOL; } このプログラムを %php stringcast.php 100のように実行すると、引数の100は PHPには文字列型として渡されます。・・・  以上参考書にあります。  作業の流れが分かりません。  %php stringcast.php 100とは!何のことなのでしょうか!?  以上宜しくお願いします。

    • ベストアンサー
    • PHP
  • セッション変数の受け渡しができない

    a.php: <?php session_start(); $_SESSION['test'] = "ok"; echo "<html><body>\n"; echo "<pre>\n"; var_dump($_SESSION); echo "</pre>\n"; echo "<a href=\"./b.php\">結果ページへ</a>"; echo "</body></html>\n"; ?> b.php: <?php session_start(); echo "<html><body>\n"; echo "<pre>\n"; var_dump($_SESSION); echo "</pre>\n"; echo "</body></html>\n"; ?> a.php の表示: array(1) { ["test"]=> string(2) "ok" } 結果ページへ b.php の表示: array(0) { } 再読込みでも同様です。 php.ini の Session 関係の項目は書籍やウェブサイトを参考にしておかしなものはないと自己判断していますが、指摘されるものを掲載します。

    • 締切済み
    • PHP
  • var_dump関数()の使い道

    PHPをイチから勉強しています。 「var_dump()関数を使うと変数の情報を表示できます」と本に載っていますが、この関数の使い道は何だろう?と疑問に思っています。解説では、 $a = true; var_dump($a); は bool(true) 論理型で値はtrueです、とあります。 でも、この関数を使わなくても見れば分かるのでは?と思い、分からなくなりました。素人爆発の質問で申し訳ないのですが分かりやすく教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • これはphpのリファレンスマニュアルからなんですが

    これはphpのリファレンスマニュアルからなんですが、 なぜ出力結果がdoubleではなく、floatなんでしょうか? <?php $b = 3.1; $c = true; var_dump($b, $c); ?> float(3.1) bool(true)

    • ベストアンサー
    • PHP
  • echo (float)'1e2foo', PHP

    echo (float)'15foo', PHP_EOL; echo (float)'15.33foo', PHP_EOL; echo (float)'1e2foo', PHP_EOL; echo (float)'foo', PHP_EOL; 以上参考書を転記しました 試しに echo '<pre>'; echo (float)'15', PHP_EOL; echo (float)'15.33', PHP_EOL; echo (float)'1e2', PHP_EOL; echo (float)'', PHP_EOL; echo '</pre>';  とfooを省きました、二つのプログラムの実行結果は 以下ですがと同じです。 15 15.33 100 0   一つ目の質問です。   なぜ、参考書はfooをあえて入れてのでしょうか? 二つ目の質問です。  1e2を1e3にすると結果が1000になります。  1eて何ですか!?    宜しくお願いします。

    • 締切済み
    • PHP
  • よくわからなかったので試してみました。

    <?php if (isset($default)){ $param = $argv[1]; } else{ $param = 'default'; } ?> --------------------------------------------- <?php if (isset($argv[1])){ $param = $argv[1]; } else{ $param = 'default'; } <? ------------------------------------------- 以上実行結果は同じですが、プログラムを組む場合とくどちらを選択しても  宜しいのでしょうか!? 以上よろしくお願いします。

    • ベストアンサー
    • PHP
  • = $argv[1];はどんな働きがありますか!?

    <?php // stringcast.php if (!isset($argv[1])) { exit; } $num = $argv[1]; if ($num == 100) {  ←(1) echo "num is 100", PHP_EOL; } else { echo "num is not 100",PHP_EOL; } このプログラムを %php stringcast.php100 のように実行する、引数の100はPHP文字列型として渡されます。  したがって、(1)の比較では、文字列"100"の入って変数$numと、整数100が比較されるため、 文字列"100"は整列100へとキャストされまた後、比較演算が実行されます。  今回は、動作の結果に違いはありませんが、ここで整数同士を比較しているつもりでも実際には 文字列を整数の比較が行われ、キャストが発生している、という挙動を把握しているか、していない かではなく大きな違いがあります。引数とし期待している値の型が決まっている場合、明示的にキャ ストを行い、厳密な比較演算子(===など)を用いるほうが安全です。 -------------------------------------------------------- 以上、参考書をまるごと入力しました。  そこで $num = $argv[1];で!$argv[1]とはこのプログラムではどんな働きがあるのでしょうか!?  ($argv[1];を$numに代入だと思います。間違っていたなら御免なさい。)  宜しくお願いします。  なお・批判的なご回答はお控えくださいませ。  

    • ベストアンサー
    • PHP

専門家に質問してみよう