アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在PHPを勉強中なのですがちょっと分からない部分がありまして質問します。
例題1は引数を指定してもしなくても実行すればHello Worldと表示されます。
しかし例題2は引数($var)を指定しないとエラーとなります。
この違いはなんでしょうか?私には同じに見えますが・・。



例題1
<?php
function somefunc(){
print ( "Hello World" );
};
somefunc();
?>

例題2
<?php
function my_print_r( $var ){
echo "<pre>";
print_r( $var ); /
echo "</pre>";
};

$name = array("sophy","nancy","angera");

my_print_r($name);
?>

A 回答 (3件)

PHPの関数の仕様の問題。


$varを無しにしたければ
function my_print_r( $var="" ){
とでもしておく必要がある。
そうすれば
my_print_r();
でも呼び出せる
その場合は$varの値は""になる。
function my_print_r( $var="Hello World" ){
としておけば
my_print_r();
で呼び出した場合の
その場合は$varの値は"Hello World"になる。

と言うか
http://php.net/manual/ja/index.php
公式マニュアルくらい読め。
関数の部分にコレに関する記述がしっかり書いてある。

なんで公式マニュアルに書いてあることすら読まずにプログラミングをする非常識な奴が多いのだろうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ただこの公式マニュアルにしっかり書いてあると言いますけど、これプログラム読む前に全部読破して把握できる人間っているんでしょうか・・。

お礼日時:2011/03/21 23:03

>ただこの公式マニュアルにしっかり書いてあると言いますけど、これプログラム読む前に全部読破して把握できる人間っているんでしょうか・・。


はっ?何言っているの?
わからないことがあったときに利用するのがマニュアルでしょ?
なんで最初からすべて把握している必要がある?
    • good
    • 0

> function somefunc()



この定義が引数なし。


> function my_print_r( $var )

この定義が引数あり。$varが一つの引数を定義しています。

引数が定義されている関数に引数なしで呼び出せばエラーに
なります。
    • good
    • 0

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