質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

3回答

3287閲覧

PHPで関数 init_row が 配列「$ary」を返す方法について

ai5

総合スコア40

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/09/21 06:33

編集2016/09/21 06:42

関数で値を返す場合、return文を以下のように記述します。

php

1 2return "sample"; // 「sample」という文字列を返す。 3class Calendar{ 4 private $year; 5 private $month; 6 public function __construct($y,$m){ 7 $this->year = $y; 8 $this->month = $m; 9 } 10 public function get_info(){ 11 return $this->year ."-" .$this->month; 12 } 13 private static function init_row(){ 14 $ary = array(); 15 for( $i = 0; $i <= 6; $i++ ){ 16$ary[] = "・"; 17 } 18return $ary; 19 } 20} 21 22

init_row()関数の返り値
Array ( [0] => ・ [1] => ・ [2] => ・ [3] => ・ [4] => ・ [5] => ・ [6] => ・ )となるようですが、絶望的なくらい意味がわかりません。。
return $this->year ."-" .$this->month;で年月を表示させてから、週を表示させたいから
配列を使ってるのでしょうか?
基礎から勉強したはずなのに、少し応用になっただけで、全くよくわかりません。。
どうしたらいいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/09/21 06:38

どこで見つけたコードなのかの情報(URL)はありますか?
ai5

2016/09/21 06:47

http://codeprep.jp/ja/editor?id=38&chapter のPHPでカレンダーを作るコースである3-4.配列への要素の追加 変数 $ary が持つ配列の末尾に 文字列「・」を追加してみましょう。にある問題です。
kei344

2016/09/21 07:54

ログインが必須のサイトのようで、閲覧することが出来ません。
guest

回答3

0

PHP

1$ary = array(); 2$ary[] = '・'; 3$ary[] = '・'; 4$ary[] = '・'; 5$ary[] = '・'; 6$ary[] = '・'; 7$ary[] = '・'; 8$ary[] = '・'; 9var_dump($ary);

この結果が
Array ( [0] => ・ [1] => ・ [2] => ・ [3] => ・ [4] => ・ [5] => ・ [6] => ・ )
となるのは理解できますか?
これをfor文にしているだけなのですが。

投稿2016/09/21 06:43

kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんにちは

大丈夫です。
提示されているソースだけでは、私も絶望的に意味が分かりません。

すでに指摘されているように、途中なんだと思います。

ただ、マジックナンバーでループさせて6つしかない配列を作っている意味はないきがします。
微小ですがオーバーヘッドを鑑みると、一週間は少なくともこの先数百年は7日なので、

return array(” .", ” .", ” .", ” .", ” .", ” .", ” .");

などとやればいいのに、と思います。
この戻り値を何に使うのか分かりませんが。

投稿2016/09/22 22:20

munyagu

総合スコア479

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

最初に return があるのが良くわかりませんが、提示されているコードはclassを作成する途中のコードのように思われます。

チュートリアル(?)を進めて行けばそのうち何に使うコードかわかるのではないでしょうか。(たぶんカレンダーの横列に日付を入れるための配列を作っているのだとは思いますが)

投稿2016/09/21 07:57

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問