質問: 初学者です。 入門用テキストや、PHPの公式サイトを参照すると 以下のような解説があります。例えば printf関数について見てみると以下のような事が 他の関数等を調べても出てきます。あまり気にしていいなかったのですがそういう訳にも 行きません。 ``` printf ( string $format , mixed ...$values ) : int ``` この場合、string は「文字列」、$formatは「書式文字列」, mixedは型は「数値、文字列、浮動小数点など何でもいい」, ...$values引数の値 という解釈でいいのでしょうか? ``` int printf( string $format [, mixed $args [, ・・・]]) ``` こちらも同じ意味かと思います。**1**ただ[]をつけている意味が判然としません。「ない場合はなくても良い」というような意味なのでしょうか? **2**またHP公式サイト、入門用テキストの両方とも int がついています。これは戻り値のことかと思います。 自分の中では「 (int) (integer). 整数型への変換」としか解釈出来ません。 しかし、下に記述しているPHPでは返ってくるのは文字列、浮動小数点です。 色々ウェブサイトを探していると、「[1]を表す」というようなのを見かけたのですが何のことかわかりません。 1[]がついている意味について 2int の意味について 上記2点初学者でもわかるように教えていただけないでしょうか? よろしくお願いいたします --- printf — フォーマット済みの文字列を出力する (PHP 4, PHP 5, PHP 7, PHP 8) ``` printf ( string $format , mixed ...$values ) : int ``` (PHP公式) ----------------------------------------------------------- 構文 printf関数 ``` int printf( string $format [, mixed $args [, ・・・]]) ``` (独習PHP第3版) --- <記述> ``` \n"; printf("売上平均(前月比): %+0-8.3f", 0.198765); ?> ``` <表示結果> きなこはハムスターです。 売上平均(前月比): +0.19900
回答: * `[ ]` については「省略可能なパラメータ」という認識で大丈夫でしょう。PHP に限らず他の言語でも使われる記法です。 * 末尾の `int` についても「関数の返り値」を表しています。 なお、非常にざっくりとした説明しかありませんが、参照しているマニュアルサイトにも「読み方」のページが一応は用意されているので、こちらにも目を通してみてください。 (大抵のマニュアルには目次等と共に読み方ページも含まれています) 関数の定義(プロトタイプ)を読むには