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

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

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

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

Q&A

3回答

295閲覧

【至急お願いします】PHPの配列と関数について

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

0グッド

1クリップ

投稿2020/03/17 11:30

【大至急お願いします】

今インターンで未経験ながらプログラミングの勉強をさせていただいているのですが、
詰まってしまい、先に進めません。

明日までに完成させないといけないで、至急回答いただけるとありがたいです。
よろしくお願い致します。
2つご質問させてください。

【1つ目...関数】
引数に$nameを持ち、戻り値として$nameに[様]という文字を付けた文字列を返すような関数makeNameを作成しましょう。
ただし、引数がなかった場合は[ななし]と返されるようにしなさい。
この関数に[山田太郎]という文字列を渡して呼び出し、結果を変数$zに代入しましょう。
また引数を指定せずにこの関数呼び出して、結果を$zを代入し$zを表示しましょう

if文を駆使してコードを書いていくという方針で間違いないでしょうか?

【2つ目...配列】
6x5の要素数となるように配列を作成し、要素[x][y]の値にx*yにしましょう(初期化子を使わず、計算で)。また、すべての値を表示しましょう。値の代入も表示もfor文を使いましょう

for文を用いて配列の値を格納する方法がわかりません。

文字ばかりで申し訳ございません。

よろしくお願い致します。

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

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

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

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

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

fiveHundred

2020/03/17 11:36 編集

> 作業依頼のような投稿をして、課題や仕事を無償でやってもらえる場ではありません。 (https://teratail.com/help/question-tips) > 何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。 (https://teratail.com/help/avoid-asking) この程度のことであれば、各種書籍やサイトを理解すればできる内容です。 これらを理解せずに、答えだけ教えてもらっても、むしろ余計にあなたが困ることになりますよ。
javahack

2020/03/17 11:41

こんなこと言っても聞く耳もってないかもしれないけど、課題なら自分でやらないと意味がないのでは。 出来なかったら素直に「できませんでした」と謝れ良いだけ。別にインターン首になるわけでもないですよね。 あと、teratailは公開されている技術者向けの質問サイトなので、インターン先がIT系企業なら、そこの人が見ているって可能性は考えた方が良いと思います。
退会済みユーザー

退会済みユーザー

2020/03/17 11:50

【至急お願いします】なんて書くのは自分勝手な人だと自己申告しているようなものですよ。
m.ts10806

2020/03/17 12:22

退会より質問削除でしょうよ。 残り続けてしまいますけど。 バレる可能性残してしまってますけど。
kokemomo.sour

2020/03/17 12:53

そもそもteratailの主旨と外れてますし、みなさんご指摘の通りだと本当に思っていて、 その上で個人的な考えではあるのですが。。 応援してあげたいです。。。 多分丸投げしたつもりもなく、聞き方が悪かっただけで、、 もう退会されたみたいですが、もしも見ていたらあまり気落ちしないで、 この先も学生生活やインターン、楽しんで過ごしてください。
fiveHundred

2020/03/17 13:05

「このようなことは丸投げに当たる」と明確に記載しているページはあります。 仮に気づかなかったとしても「自分で調べる」という最低限のことをしていなかったことになるので、私はあまり同情はできないです。
guest

回答3

0

何のための課題でしょうか。
インターンで、果てはそこで働くためですよね。
そこで出るくらいの課題を他人に投げていては
インターンでもいく意味はないので、やり方を考え直してください。

時期、課題内容

割と簡単にバレますよ。

本当に何一つ手が付けられないのでしたら、
まだその程度の課題すら挑む段階ではないということです。

それに本来課題って、それまで習ったことの復習であるはず。
何一つ手を付けられないようなものを課題として出すだろうか?
考えてみてください。

ここで答えをもらったとして、それをそのまま採用したとして
あなたの将来に傷がつくだけです。
もしかしたら信頼にも傷がつくかもしれません。

投稿2020/03/17 12:05

m.ts10806

総合スコア80875

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

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

0

1つ目です。

if文を駆使してコードを書いていくという方針で間違いないでしょうか?

if文も利用しますが、
どちらかというとfunctionを使えるかどうかかと考えています。
引数、戻り値について理解を深めると良いかと思います。
一例として以下のような形です。

<?php //関数、後続で引数指定無しで呼び出す場面があるので初期値にnullを設定します。 function makeName($name = null) { if (is_null($name)) { $result = 'ななし'; } else { $result = $name . '様'; } return $result; } //山田太郎を$zに代入 $z = makeName('山田太郎'); //引数を指定しない $z = makeName(); //表示 echo $z ?>

2つ目です。

for文を用いて配列の値を格納する方法がわかりません。

配列は添字を用いることで特定の要素を指定することができます。
for文のカウンターに使う変数を用いて代入していくのが綺麗にできるかなと考えています。
以下が一例です。

<?php $hairetsu = array(); //代入 for ($i = 0; $i < 6; $i++) { for($n = 0; $n < 5; $n++) { $hairetsu[$i][$n] = $i * $n; } } //表示 for ($i = 0; $i < 6; $i++) { for($n = 0; $n < 5; $n++) { echo '$hairetsu[' . $i . '][' . $n . ']に値は' . $hairetsu[$i][$n] . 'です'; echo '<br />'; } } ?>

うまく言えないのですが。。
私自身の経験でもあるのですが、
こういう課題は周りの友達に聞けるかどうかみたいな競争になるところがあり、
まず答えを他の人から共有してもらいつつ理解を深めることが多いのかな、と考えています。

今回はteratailの主旨と外れていることもあり、
あまり良い利用の仕方ではなかったと思いますが
インターンのルールとして明確に禁止されているわけではないのならば、
ぜひ、できうる限りの手段でいろいろな人に聞いて理解を深めていってほしいです。

プログラミングを嫌いにならず、ぜひ楽しんでください!

投稿2020/03/17 12:41

kokemomo.sour

総合スコア330

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

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

0

1つ目

PHP

1function makeName($name=null){ 2 return is_null($name)?"ななし":($name."様"); 3} 4 5$z=makeName("山田太郎"); 6var_dump($z); 7$z=makeName(); 8var_dump($z);

投稿2020/03/17 11:39

yambejp

総合スコア116724

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

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

yambejp

2020/03/17 11:46 編集

2つ目は要素数がわかっても初期値が0か1かで結果は違います 一応出題者の意図を汲み取るとこんな感じ? $list=[]; $x=6; $y=5; for($i=1;$i<=$x;$i++){ $list[$i]=[]; for($j=1;$j<=$y;$j++){ $list[$i][$j]=$i*$j; } } print_r($list);//確認用 for($i=1;$i<=count($list);$i++){ for($j=1;$j<=count($list[$i]);$j++){ print "{$i}*{$j}={$list[$i][$j]}<br>"; } }
yambejp

2020/03/17 12:12 編集

ちなみに課題をネットで調べても絶対バレるので 自分なりにアレンジしないと落第点つけられるような気がします 個人的にはわからない課題を考え続けることは無駄だと思うので 答えをみて動作の基本を理解してから、自分なりに書くのがベターだと思います。 (昔TVで東大合格者の問題集の解き方がそう紹介されていた)
yambejp

2020/03/18 00:39

まぁ退会するでしょうねぇ・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問