1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> DOUG LLOYD:だから我々はしました C言語で多くの作業を行って、 3 00:00:07,370 --> 00:00:09,536 Cは本当にクールです 言語それはあなたを与えるので 4 00:00:09,536 --> 00:00:12,840 本当にダイビングする能力 あなたのプログラムに低レベル。 5 00:00:12,840 --> 00:00:16,810 我々は、物事を行うために取得 操作として本当に分 6 00:00:16,810 --> 00:00:18,800 メモリの個々のバイト。 7 00:00:18,800 --> 00:00:21,420 本当にポインタリコール 私たちにその柔軟性を可能にします。 8 00:00:21,420 --> 00:00:25,260 >> しかし、我々は常に持っている必要があります 詳細の微粒子レベル 9 00:00:25,260 --> 00:00:26,820 我々のプログラムで? 10 00:00:26,820 --> 00:00:28,210 おそらくない、右? 11 00:00:28,210 --> 00:00:30,376 そして、我々は持っているつもりなら であることの間のトレードオフ 12 00:00:30,376 --> 00:00:32,911 本当に、本当に行うことができます 分のものと本当に、本当に 13 00:00:32,911 --> 00:00:35,910 我々は考える必要はありません大きなもの 我々が実装する必要はありません 14 00:00:35,910 --> 00:00:40,290 これらの本当に大きなアイデア場合 彼らはすでに私たちのために組み込まれています、 15 00:00:40,290 --> 00:00:43,980 一般的に、大きなを構築するための プログラムや大規模なプロジェクト、 16 00:00:43,980 --> 00:00:49,130 我々はおそらく側に誤るするつもりです より多くの言語のものが組み込まれました 17 00:00:49,130 --> 00:00:51,300 私たちのために、代わりに持っていることの 低レベルのもの。 18 00:00:51,300 --> 00:00:53,970 PHPは本当に出番そしてそれはです。 19 00:00:53,970 --> 00:00:58,200 >> さて、理由の一つ 我々はCS50でPHPを教えること 20 00:00:58,200 --> 00:01:01,020 それは頻繁に触発されていますということです C.そして実際に、私の意見では、 21 00:01:01,020 --> 00:01:05,140 実際には2つがあります 先祖の言語その 22 00:01:05,140 --> 00:01:08,200 今日では非常に一般的です。 23 00:01:08,200 --> 00:01:10,110 CとLISP。 24 00:01:10,110 --> 00:01:13,280 そして、彼らは先祖の言語です 他のすべての近代的なプログラミングのため 25 00:01:13,280 --> 00:01:17,380 開発した言語 それ以来、触発され、 26 00:01:17,380 --> 00:01:20,330 どちらか一方の構文的により。 27 00:01:20,330 --> 00:01:26,160 PHPは構文的に非常に似ています Cに、スキームのような言語のに対し、 28 00:01:26,160 --> 00:01:27,900 例えば、その あなたはのことを聞いたことがあり、 29 00:01:27,900 --> 00:01:32,070 重く言語に触発され、 古い言語であるLISPと呼ばれます。 30 00:01:32,070 --> 00:01:34,220 >> 私たちが教えだから理由 CS50でPHPはつまり、 31 00:01:34,220 --> 00:01:37,730 基本的にように、Cを知ることにより あなたはこの時点でそうであるように、 32 00:01:37,730 --> 00:01:41,280 あなた与える拾っPHP、 はるかに高いレベルのものを行う能力 33 00:01:41,280 --> 00:01:44,710 Cはよりも、ではありません そのハードルの多く、 34 00:01:44,710 --> 00:01:48,230 あなたが既に持っているので、 構文の基本的な考え方。 35 00:01:48,230 --> 00:01:50,590 Cはほとんど出回っています この時点で45歳。 36 00:01:50,590 --> 00:01:52,780 PHPは、約20年前から出回っています。 37 00:01:52,780 --> 00:01:57,080 そして、その25年後に 、プログラマーの間で 38 00:01:57,080 --> 00:02:01,540 それらは非常にあると判断し むしろ、より高いレベルの能力を持っています 39 00:02:01,540 --> 00:02:04,970 そして、ミスや闘争 その間の20年の 40 00:02:04,970 --> 00:02:08,210 PHPと他の現代語につながりました。 41 00:02:08,210 --> 00:02:11,039 >> のPHPの偉大な選択肢 ソフトウェアの言語 42 00:02:11,039 --> 00:02:14,042 それがためにallow-- あなたをthat--ソフトウェア 43 00:02:14,042 --> 00:02:16,250 でそのことを行う必要があり Cは実際に複雑です。 44 00:02:16,250 --> 00:02:18,480 したがって、たとえば、作業 C言語の文字列を含みます 45 00:02:18,480 --> 00:02:21,709 ので、非常に複雑です 我々が知っているように、C言語の文字列 46 00:02:21,709 --> 00:02:23,250 実際に文字だけの配列です。 47 00:02:23,250 --> 00:02:25,230 これは、組み込みデータ・タイプではありません。 48 00:02:25,230 --> 00:02:28,220 それとももっと根本的に、 私たちも、C言語でカバーしていないもの、 49 00:02:28,220 --> 00:02:30,360 あなたがする必要がある場合はどのような 一部のコンピュータネットワーク? 50 00:02:30,360 --> 00:02:30,860 大丈夫? 51 00:02:30,860 --> 00:02:34,920 >> Cはそれを行う能力を持っていますが、それはそうです 難解と実際にやることが難しいです。 52 00:02:34,920 --> 00:02:37,580 場合、それは素晴らしいことではないだろう 言語は、組み込みの、簡単な方法を持っていました 53 00:02:37,580 --> 00:02:38,910 ネットワークを実装するには? 54 00:02:38,910 --> 00:02:43,420 そして、PHPはそれを作るの言語です、 または、かなり多くいることを容易にします。 55 00:02:43,420 --> 00:02:47,740 私が言ったように、PHPは非常に重く触発され Cでの構文は非常に似ています。 56 00:02:47,740 --> 00:02:51,760 そしてそれがうまくいけば作るべき 1から他への移行 57 00:02:51,760 --> 00:02:54,710 いくつかより少し柔らかめ 他の言語があるかもしれません。 58 00:02:54,710 --> 00:02:58,800 >> PHPの書き込みを開始するには、ちょうど開きます .PHPファイル拡張子を持つファイル。 59 00:02:58,800 --> 00:03:00,670 技術的にはこれではありません 実際に必要な、 60 00:03:00,670 --> 00:03:04,495 しかし、あなたは構文のようなものが必要な場合 IDEで強調表示するので、そのタイプ 61 00:03:04,495 --> 00:03:07,620 名、変数名、関数、 あなたは、言語のキーワードを知っています 62 00:03:07,620 --> 00:03:10,090 で強調されています 特定の色、一般ます 63 00:03:10,090 --> 00:03:14,020 であなたのファイルに名前を付けたいです 特定のファイル拡張子。 64 00:03:14,020 --> 00:03:18,430 だから我々は.PHPとのファイルを命名しました 拡張子が、その後も、PHPと、 65 00:03:18,430 --> 00:03:23,310 私たちはその中に書き込み、すべてのPHPコード ファイルには、これらのPHPで囲まれなければなりません 66 00:03:23,310 --> 00:03:25,190 私たちが見るの区切り文字 ここでは、画面上。 67 00:03:25,190 --> 00:03:27,910 アングルブラケット?PHPは開始します。 68 00:03:27,910 --> 00:03:30,860 そして、私たちは、PHPのすべてを書きます 我々はその間にするコード。 69 00:03:30,860 --> 00:03:32,260 その後 ? 70 00:03:32,260 --> 00:03:34,710 アングルブラケットが閉じます。 71 00:03:34,710 --> 00:03:37,170 >> 我々は、その後、これを行わない場合 何が起こるだろうか? 72 00:03:37,170 --> 00:03:38,170 それはクラッシュするつもりはありません。 73 00:03:38,170 --> 00:03:39,410 これは、ことはないだろう 本当に私たちのプログラムを台無しに。 74 00:03:39,410 --> 00:03:41,440 しかし、それは持っていることはないだろう 私たちが望む効果。 75 00:03:41,440 --> 00:03:44,540 何が起こるだろう、本当に、あります 我々がしようとすると、このプログラムを実行するときに、 76 00:03:44,540 --> 00:03:50,330 すべてではないこれらの区切り文字の間 そのままプリントアウトされようとしています。 77 00:03:50,330 --> 00:03:52,210 これは、ことはないだろう 実際にコードを実行し、 78 00:03:52,210 --> 00:03:56,010 それだけに起こっています そのままそれをプリントアウト。 79 00:03:56,010 --> 00:03:57,320 >> さて、なぜケースはありますか? 80 00:03:57,320 --> 00:04:00,416 だからCは知られています コンパイル言語として。 81 00:04:00,416 --> 00:04:03,040 あなたは、おそらく精通しています あなたのプログラムを作成するステップ、 82 00:04:03,040 --> 00:04:07,820 .cファイルと.hファイルを回します メイクを持つ単一の実行可能ファイルに、 83 00:04:07,820 --> 00:04:11,130 特に使用して 私たちのコンパイラとして打ち鳴らします。 84 00:04:11,130 --> 00:04:13,030 PHPは、しかし、しません この等価を持っています。 85 00:04:13,030 --> 00:04:15,600 PHPはと呼ばれるものです インタプリタ言語。 86 00:04:15,600 --> 00:04:16,760 そして、それは何を意味するのでしょうか? 87 00:04:16,760 --> 00:04:20,680 >> まあ、それは我々が変換する必要がないことを意味し 0と1に私たちのソースコード 88 00:04:20,680 --> 00:04:21,470 予め。 89 00:04:21,470 --> 00:04:23,900 むしろ、プログラムがあります、 呼ばれています 90 00:04:23,900 --> 00:04:29,771 PHPとPHPを理解し、 ソートの場でそれを行うことができます。 91 00:04:29,771 --> 00:04:32,520 それは、本当に正確に正確ではありません それはかなり良いアナロジーです 92 00:04:32,520 --> 00:04:33,760 何が起こっているの。 93 00:04:33,760 --> 00:04:37,230 これは、それらを解釈しています その場で0と1。 94 00:04:37,230 --> 00:04:40,160 そしてそれは知られていない場合 何かを処理する方法、 95 00:04:40,160 --> 00:04:42,800 それはどのように認識していない場合 プロセスPHP​​、おそらく 96 00:04:42,800 --> 00:04:44,680 右、そこにそのテキストを配置したいですか? 97 00:04:44,680 --> 00:04:48,960 >> あなたは、おそらく内にコードを書きたいと思いました そこに、それはPHP--の間ではない場合でも、 98 00:04:48,960 --> 00:04:50,035 PHPの区切り文字。 99 00:04:50,035 --> 00:04:51,910 But--ので、つもりはありません あなたのためにそれを削除するには、 100 00:04:51,910 --> 00:04:53,576 それだけで基本的にはそれを捨てるために起こっています。 101 00:04:53,576 --> 00:04:55,550 だから、印刷するために起こっています その画面に出て。 102 00:04:55,550 --> 00:04:57,150 >> それが悪いように思えるこれは、 事は、実際にそれはです 103 00:04:57,150 --> 00:04:58,220 本当にになるだろう 良いこと、私たちはよなど 104 00:04:58,220 --> 00:05:00,390 私たちが話をしたときに表示 PHPのWeb開発、 105 00:05:00,390 --> 00:05:04,010 それは私たちができることを意味しますので、 PHPとHTMLをまき散らします。 106 00:05:04,010 --> 00:05:06,640 私たちは一緒にそれらを使用することができます よりダイナミックなWebページを作成します。 107 00:05:06,640 --> 00:05:10,650 しかし、その中の詳細 PHPのWeb開発に関するビデオ。 108 00:05:10,650 --> 00:05:12,021 >> だから、PHPの構文は何ですか? 109 00:05:12,021 --> 00:05:13,520 つまり、このビデオはすべてに約あるものです。 110 00:05:13,520 --> 00:05:14,850 のは、それについて話しましょう​​。 111 00:05:14,850 --> 00:05:16,490 >> そこで、変数を開始します。 112 00:05:16,490 --> 00:05:18,030 PHPの変数が存在します。 113 00:05:18,030 --> 00:05:20,067 ちょうど2つの大きながあります。 C.との違い 114 00:05:20,067 --> 00:05:21,900 最初はそこにあるということです 何の型指定はありません。 115 00:05:21,900 --> 00:05:24,245 我々は、int型を言う必要はありません char型、float型、すべてのもの。 116 00:05:24,245 --> 00:05:25,620 私たちはもうそれを行う必要はありません。 117 00:05:25,620 --> 00:05:26,810 PHPは近代的な言語です。 118 00:05:26,810 --> 00:05:28,910 それはあなたがしているものを把握することができます ベストを尽くすかにしようと 119 00:05:28,910 --> 00:05:30,451 あなたがやろうとしているものと推測として。 120 00:05:30,451 --> 00:05:31,700 だから、かなりいいです。 121 00:05:31,700 --> 00:05:35,330 >> 他の事は、すべての変数であります 名前はドル記号で開始する必要があります。 122 00:05:35,330 --> 00:05:36,940 それはちょうどに慣れるための何か。 123 00:05:36,940 --> 00:05:39,496 ので、それは、少し奇妙です PHPが理解できるように、です 124 00:05:39,496 --> 00:05:40,870 変数と何ではありませんものです。 125 00:05:40,870 --> 00:05:43,340 だから、すべての変数名 ドル記号で始まります。 126 00:05:43,340 --> 00:05:46,884 だから、C言語で、私たちは何かを言うかもしれません このように、int型のx = 54。 127 00:05:46,884 --> 00:05:48,550 私たちは、PHPでもうそれを行う必要はありません。 128 00:05:48,550 --> 00:05:52,540 私達はちょうどX = 54 $を言うことができます。 129 00:05:52,540 --> 00:05:55,920 そして、我々はC言語で、例えば、言うことができます、 我々はCS50の.hポンド含まれていた場合 130 00:05:55,920 --> 00:06:00,314 ヘッダファイル、我々が言うことができます 文字列フレーズは= "これはCS50です。」 131 00:06:00,314 --> 00:06:01,980 我々は、しかし、PHPでそれを行う必要はありません。 132 00:06:01,980 --> 00:06:04,865 私達はちょうど$フレーズを言うことができます = "これはCS50です。」 133 00:06:04,865 --> 00:06:08,760 そして、実際には、文字列は今で PHPの組み込みデータ型、 134 00:06:08,760 --> 00:06:10,950 かPHPが理解します 何文字列です。 135 00:06:10,950 --> 00:06:15,612 これは、配列から独立したのです それはCであるような文字の 136 00:06:15,612 --> 00:06:17,570 すべてのお気に入り Cからの条件文 137 00:06:17,570 --> 00:06:19,520 まだあなたが使用するために用意されています。 138 00:06:19,520 --> 00:06:21,140 だから、そこには大きな変遷。 139 00:06:21,140 --> 00:06:23,400 我々は持つことができますsay--できます このようなif文。 140 00:06:23,400 --> 00:06:28,210 $ yの43、または$ Z = 15の場合。 141 00:06:28,210 --> 00:06:29,690 だから、非常に簡単です。 142 00:06:29,690 --> 00:06:31,980 我々は、以下の場合に、他のことができます。 143 00:06:31,980 --> 00:06:34,210 我々は、もし、他の場合することができます。 144 00:06:34,210 --> 00:06:36,430 >> そして、何かに気付きます かなりここで素敵な、これ 145 00:06:36,430 --> 00:06:39,620 それらの一つの一種であります C、予告対PHPの利点 146 00:06:39,620 --> 00:06:41,510 どんな機能ここでは使用していませんか? 147 00:06:41,510 --> 00:06:47,737 私たちは、比較するために==を使用しています 変数、$名、文字列へ。 148 00:06:47,737 --> 00:06:49,070 我々は右、C言語でそれを行うことができませんでしたか? 149 00:06:49,070 --> 00:06:53,200 私たちは、呼び出された関数を使用していました StrComp関数またはStrEndCompまたは任意の 150 00:06:53,200 --> 00:06:54,840 その関連いとこの。 151 00:06:54,840 --> 00:06:56,980 >> だから、すでに私たちは、これらの利点を参照してください。 152 00:06:56,980 --> 00:07:00,930 私たちは何かをする必要はありません 愚かなまたはおそらく直感 153 00:07:00,930 --> 00:07:03,540 関数を呼び出すように StrComp関数は、私はちょうどテストする場合 154 00:07:03,540 --> 00:07:05,237 値が文字列と等しいかどうか。 155 00:07:05,237 --> 00:07:07,820 私はちょうど相当します使用することができ、 私は何かを行うことができますように。 156 00:07:07,820 --> 00:07:09,560 だから利点があります。 157 00:07:09,560 --> 00:07:13,350 >> 時には、ところで、あなたがかもしれません ELSEIF、他の場合と同様に一つの単語を参照してください。 158 00:07:13,350 --> 00:07:14,910 そして、それは同様にPHPでOKです。 159 00:07:14,910 --> 00:07:17,020 だから、時々、あなたはそれを見るかもしれません。 160 00:07:17,020 --> 00:07:17,790 それはタイプミスではありません。 161 00:07:17,790 --> 00:07:21,830 PHPは、実際のelseifを理解しています。 162 00:07:21,830 --> 00:07:23,980 なぜ私は知りません それを実施することを決定しました、 163 00:07:23,980 --> 00:07:28,220 しかし、我々は何度も見てきたように これまでの私たちのビデオを通して、 164 00:07:28,220 --> 00:07:30,460 私たちのプログラマがあればそれを愛します 我々はすぐに物事を行うことができ、 165 00:07:30,460 --> 00:07:33,660 そのためのスペースを取り除きます 明らかに大きな利点です。 166 00:07:33,660 --> 00:07:34,800 >> だから、場合とELSEIFです。 167 00:07:34,800 --> 00:07:37,540 また、三項演算子を持っています、 リコールクエスチョンマーク、コロン、 168 00:07:37,540 --> 00:07:43,262 それ以外の場合は本当に短い形式のため または条件分岐。 169 00:07:43,262 --> 00:07:45,470 そしてどうやら、この中で、 私たちはここでやろうとしています 170 00:07:45,470 --> 00:07:49,720 変数を割り当てるです trueまたはfalseのいずれかの$文字、 171 00:07:49,720 --> 00:07:54,110 $のVARかどうかに応じて、 アルファベット文字です。 172 00:07:54,110 --> 00:07:57,320 だから、これははisalphaにかなり似ています 我々はCから精通していること 173 00:07:57,320 --> 00:07:59,010 これはPHPの同等の一種です。 174 00:07:59,010 --> 00:08:01,550 関数は明らかです ctype_alphaと呼ばれます、 175 00:08:01,550 --> 00:08:03,450 それは、我々はPHPでそれを行う方法です。 176 00:08:03,450 --> 00:08:08,560 だから、すべてこれがあることを行っていることと、あります $のvarは文字で、$文字が真です。 177 00:08:08,560 --> 00:08:13,820 $のvarが文字でない場合は、 $文字はfalseです。 178 00:08:13,820 --> 00:08:15,820 >> また、まだswitch文を持っています。 179 00:08:15,820 --> 00:08:17,870 我々としても、Cからのものを思い出します。 180 00:08:17,870 --> 00:08:22,480 そこに非常に上部には、それは我々が行う方法です GET intまたは文字列を取得のようなもの。 181 00:08:22,480 --> 00:08:23,845 だから、PHPが組み込まれていることがあります。 182 00:08:23,845 --> 00:08:25,470 私たちはもうCS50ライブラリを必要としません。 183 00:08:25,470 --> 00:08:27,237 私達はちょうど関数のreadlineを使用することができます。 184 00:08:27,237 --> 00:08:29,820 何それを行うために起こっていることは、印刷です メッセージ出て、 "あなたの状態、 185 00:08:29,820 --> 00:08:33,820 、してください "とし、プロンプトを点滅 入力するユーザを待っています 186 00:08:33,820 --> 00:08:34,739 いくつかの情報。 187 00:08:34,739 --> 00:08:36,530 今他に何に気づきます 我々は、スイッチで行うことができます。 188 00:08:36,530 --> 00:08:39,105 あなたが前にそれを使用している場合、 あなたはそのスイッチを思い出して 189 00:08:39,105 --> 00:08:44,960 整数にかなり制限されており、 文字が、今、私たちは、文字列を使用することができます。 190 00:08:44,960 --> 00:08:50,190 そして実際に、switchステートメント PHPでかなり柔軟です 191 00:08:50,190 --> 00:08:54,880 Cからそのいとこより 192 00:08:54,880 --> 00:08:55,380 ループ。 193 00:08:55,380 --> 00:08:58,130 のちょうど条件文のように、すべての 古いお気に入りはまだそこにあります。 194 00:08:58,130 --> 00:09:00,740 我々は数えるwhileループを持っています 1からこの場合は100に。 195 00:09:00,740 --> 00:09:03,940 ループしながら、私たちは何しています それは、1から100までカウント 196 00:09:03,940 --> 00:09:06,200 我々はループのために持っています それは1から100までカウントします。 197 00:09:06,200 --> 00:09:07,220 だから、そこには大きな飛躍。 198 00:09:07,220 --> 00:09:09,360 構文はかなりあります まったく同じくらい、 199 00:09:09,360 --> 00:09:11,760 今私たちが使っている除きます 代わりにドル記号変数 200 00:09:11,760 --> 00:09:17,260 整数変数を宣言するのか 私たちのカウンターのようなもの。 201 00:09:17,260 --> 00:09:20,090 >> 物事が取得する場所ここです しかし、Cよりもずっと良いです。 202 00:09:20,090 --> 00:09:21,020 配列。 203 00:09:21,020 --> 00:09:23,020 私たちがしたときにリコール ためには、Cの話 204 00:09:23,020 --> 00:09:25,560 私たちは成長し、縮小するために 情報のセット 205 00:09:25,560 --> 00:09:28,310 私たちは、デフォルトの並べ替えするために必要な リンクリストのこのアイデアに、 206 00:09:28,310 --> 00:09:30,780 C配列のサイズが固定されたため。 207 00:09:30,780 --> 00:09:31,800 私たちはそれらを縮小することができませんでした。 208 00:09:31,800 --> 00:09:32,930 我々は彼らを育てることができませんでした。 209 00:09:32,930 --> 00:09:36,074 我々は、メモリを再割り当てする必要がありました そしてこのすべての狂気を行います 210 00:09:36,074 --> 00:09:38,490 または、リンクされたリストを使用します かなり多くのスペースを取ります。 211 00:09:38,490 --> 00:09:41,590 しかし、PHPで、配列です もうサイズが固定されていません。 212 00:09:41,590 --> 00:09:43,240 彼らは成長することができ、それらは縮小することができます。 213 00:09:43,240 --> 00:09:46,660 だからもう一度、この20年間存在しました Cの最初のリリースとの間 214 00:09:46,660 --> 00:09:49,440 そして、最初のリリースのPHP、 私たちは、あなたが知っている、ことを決定し、 215 00:09:49,440 --> 00:09:51,670 それは本当に素晴らしいことです 我々はこれを行うことができれば。 216 00:09:51,670 --> 00:09:54,100 そして、私たちはこれを実装しました。 217 00:09:54,100 --> 00:09:58,040 >> だから、PHPの配列は、中に固定されていません サイズ、およびPHPは本当にいないため、 218 00:09:58,040 --> 00:10:03,090 プログラマの前向きを持っています タイプの概念、 219 00:10:03,090 --> 00:10:05,110 我々は、データ型を混在させることができます 私たちの配列内の、あまりにも。 220 00:10:05,110 --> 00:10:08,100 だから、私たちも、すべて使用する必要はありません 整数またはすべての浮動小数点、 221 00:10:08,100 --> 00:10:12,826 我々はすべての組み合わせを持つことができます 1つのアレイ内の異なる種類。 222 00:10:12,826 --> 00:10:14,700 配列の宣言 かなり簡単。 223 00:10:14,700 --> 00:10:16,116 それはちょうど、他の変数のようなものです。 224 00:10:16,116 --> 00:10:20,020 $のNUMS =配列(1、2、3、 関数である4)、配列 225 00:10:20,020 --> 00:10:22,760 それは、PHPに組み込まれていること あなたのための配列を作成します。 226 00:10:22,760 --> 00:10:28,315 これは、4つの値の配列を作成し、 この場合の数字は、$ NUMSと呼ばれます。 227 00:10:28,315 --> 00:10:29,940 そして、それを行うには複数の方法があります。 228 00:10:29,940 --> 00:10:32,420 そして、我々はするつもりです このPHPの多くを参照してください。 229 00:10:32,420 --> 00:10:36,380 PHPは、多くの異なるによって開発されました 人と成長し、成長し、成長します。 230 00:10:36,380 --> 00:10:40,050 わずか2かは、通常はありません PHPで何かをするには3つの方法、 231 00:10:40,050 --> 00:10:42,170 通常、10または20のようにあります。 232 00:10:42,170 --> 00:10:45,300 ここでちょうど別のが一般的です 配列を宣言する方法。 233 00:10:45,300 --> 00:10:48,310 $のNUMS =角括弧1、2、3、4。 234 00:10:48,310 --> 00:10:53,170 だから、これは一種の同様のCの角にあります むしろ、中括弧表記をbr--。 $ - 235 00:10:53,170 --> 00:10:58,525 またはそれはint型NUMS広場になります ブラケットは中括弧1、2、3、4に等しいです。 236 00:10:58,525 --> 00:11:02,710 PHPでそれは$ NUMS =正方形です ブラケット1、2、3、4。 237 00:11:02,710 --> 00:11:08,920 しかし、ここではこれらの例の両方が私を与えます この場合、整数の4つの配列。 238 00:11:08,920 --> 00:11:10,920 >> 私は今に何かをタックしたい場合はどう? 239 00:11:10,920 --> 00:11:14,760 まあ私はちょうど$ NUMS 4を、言うことができました 再び、我々はまだここに0からカウントしています 240 00:11:14,760 --> 00:11:17,800 PHPで、第五になります 配列の要素。 241 00:11:17,800 --> 00:11:18,990 私はちょうどそれを言うことができます。 242 00:11:18,990 --> 00:11:22,860 私はワンセグに苦しむするつもりはありません 私の配列がちょうどであるため、故障 243 00:11:22,860 --> 00:11:24,337 それに対応するために成長するだろう。 244 00:11:24,337 --> 00:11:25,420 それは右、かなりいいの? 245 00:11:25,420 --> 00:11:28,400 そして実際に、私もする必要はありません 私はそれを配置する場所を指定します。 246 00:11:28,400 --> 00:11:31,220 私はちょうどこれを言うだけすることができます 右端の上にタック、 247 00:11:31,220 --> 00:11:34,099 または私もちょうどできました $ NUMS 20または千と言います。 248 00:11:34,099 --> 00:11:35,140 それは本当に問題ではありません。 249 00:11:35,140 --> 00:11:38,330 それはまだだけに起こっています 最後に右のそれをタック。 250 00:11:38,330 --> 00:11:41,490 >> だから私は成長し、私たちがしているas--できます ここでそれをカバーするつもりはありません、 251 00:11:41,490 --> 00:11:45,360 しかし私は、スプライスまたはストリップすることができます 配列のうちの要素だけでなく、 252 00:11:45,360 --> 00:11:50,064 アレイは、対応するために縮小されます それが今、存在しないか、または空のスペース。 253 00:11:50,064 --> 00:11:52,230 タックす​​るための別の方法があります アレイ上の何か、 254 00:11:52,230 --> 00:11:54,330 これarray_push呼び出される関数です。 255 00:11:54,330 --> 00:11:57,860 そこで再び、であることのちょうどこのアイデア 物事の多くの異なる方法で行うことができます。 256 00:11:57,860 --> 00:12:01,950 だから我々は今、3つの異なる方法を見てきました アレイ上に別の要素をタックします。 257 00:12:01,950 --> 00:12:06,900 だから、これは別の要素が追加されます $のNUMSの配列の最後に。 258 00:12:06,900 --> 00:12:08,340 そして、我々は我々のデータ型を混在させることができます。 259 00:12:08,340 --> 00:12:13,110 だから私はないの配列を持つことができます 1、2、3、4、しかし1、真の、3、4、 260 00:12:13,110 --> 00:12:16,420 ここで、真のブール値であり、その後、 私は別の要素の上にタックする場合 261 00:12:16,420 --> 00:12:20,860 その配列には、おそらく文字列、 文字列 "5、"私はそれを行うことができます。 262 00:12:20,860 --> 00:12:26,110 そして今、私の配列はだろう 真1、3、4、5です。 263 00:12:26,110 --> 00:12:28,640 ワード5、整数でない5。 264 00:12:28,640 --> 00:12:31,270 だから、多くの柔軟性。 265 00:12:31,270 --> 00:12:33,290 >> 柔軟性が取得します より良い、しかし、 266 00:12:33,290 --> 00:12:37,530 PHPは何かをサポートしているため、 連想配列と呼ばれます。 267 00:12:37,530 --> 00:12:40,660 そして、我々は一種の漠然と話しました C言語で連想配列について 268 00:12:40,660 --> 00:12:44,740 ハッシュテーブルの文脈において、なぜなら どのような連想配列が本当にすべてです 269 00:12:44,740 --> 00:12:48,950 キーを作っている程度 値のペアのマッピング。 270 00:12:48,950 --> 00:12:53,410 そして、この場合、keys-- 我々は、Cからの配列に精通しています 271 00:12:53,410 --> 00:12:55,440 キーは、インデックス番号です。 272 00:12:55,440 --> 00:12:57,530 0、1、2、3。 273 00:12:57,530 --> 00:13:03,070 値は、私たちがいることを見つける何ですか ように、アレイ0、配列1、配列2、および。 274 00:13:03,070 --> 00:13:06,310 だから、キーがインデックスされています、 値は 275 00:13:06,310 --> 00:13:10,060 その配列の場所に何ですが、 そのインデックスで指定されました。 276 00:13:10,060 --> 00:13:15,130 >> しかし、PHPで、我々はこれを行う必要はありません 配列0、配列1、配列2の概念 277 00:13:15,130 --> 00:13:15,830 もう。 278 00:13:15,830 --> 00:13:21,025 私たちは今、実際の言葉を使用することができます キーを値にマップします。 279 00:13:21,025 --> 00:13:22,650 だから私はこのような何かを言うことができます。 280 00:13:22,650 --> 00:13:26,710 私が使用してアレイを作成することができます 次のように角括弧構文。 281 00:13:26,710 --> 00:13:30,685 $ピザ=角括弧 "チーズ"とし、 282 00:13:30,685 --> 00:13:37,210 二重矢印記法この種の、 8.99、「ペパロニ」、10.99-- 9.99矢印 283 00:13:37,210 --> 00:13:37,880 等々。 284 00:13:37,880 --> 00:13:39,060 だからここで何が起こっているの? 285 00:13:39,060 --> 00:13:41,040 私は実際に何をしているのですか? 286 00:13:41,040 --> 00:13:43,990 私は、キーと値のペアのマッピングを作成しています。 287 00:13:43,990 --> 00:13:49,060 だからではなく、というのは、例えば、 ピザ0、ピース1、ピザ2、 288 00:13:49,060 --> 00:13:52,350 私は今ピザを言うことができます チーズ、ピザのピーマン、 289 00:13:52,350 --> 00:13:55,120 値を参照してください。 それらに関連付けられています。 290 00:13:55,120 --> 00:13:56,970 >> だからここに私たちのキーが緑色です。 291 00:13:56,970 --> 00:13:59,870 チーズ、ペパロニ、 野菜、バッファローチキン。 292 00:13:59,870 --> 00:14:04,200 ここで作る矢印があります このキーと値のペアのマッピングです。 293 00:14:04,200 --> 00:14:07,420 そして、ここに値があります そのアレイ位置で。 294 00:14:07,420 --> 00:14:10,330 だから、配列0が8.99に等しいと言うようなものです。 295 00:14:10,330 --> 00:14:11,720 キーは0です。 296 00:14:11,720 --> 00:14:13,600 値は8.99です。 297 00:14:13,600 --> 00:14:19,370 私は今、アレイチーズ、またはこの中で言うことができます ケースピザチーズ、チーズが鍵であり、 298 00:14:19,370 --> 00:14:23,340 そして私が何を見つけます ピザのチーズは8.99です。 299 00:14:23,340 --> 00:14:25,540 それは私が見つけた値です。 300 00:14:25,540 --> 00:14:28,124 >> だから私は物事が好きと言うことができます。 $ピザチーズ= 7.99。 301 00:14:28,124 --> 00:14:29,040 私は販売を抱えていると言います。 302 00:14:29,040 --> 00:14:31,750 私がドロップするdis--たい チーズピザの価格。 303 00:14:31,750 --> 00:14:35,620 または私は野菜を使用することができます ピザ条件の一部として、 304 00:14:35,620 --> 00:14:39,990 または私に新しい要素を追加することができます アレイは、ちょうど私が以前に行うことができますように。 305 00:14:39,990 --> 00:14:44,680 私はこれに新しい要素を追加することができます キー「ベーコン」を連想配列 306 00:14:44,680 --> 00:14:49,250 および値13.49。 307 00:14:49,250 --> 00:14:53,820 >> しかし、この種のは、問題を紹介し、 あなたは、第二のために考えてみれば。 308 00:14:53,820 --> 00:14:55,721 どのように我々はこの配列を反復処理しますか? 309 00:14:55,721 --> 00:14:56,220 右? 310 00:14:56,220 --> 00:14:59,820 Cでは、私たちは持っているだろう ループのため、一般的に、その 311 00:14:59,820 --> 00:15:03,650 0から実行します 配列のサイズから1を引きました。 312 00:15:03,650 --> 00:15:08,060 配列は、でn個の要素を有し、 有効なインデックスは0〜1 nはマイナスです。 313 00:15:08,060 --> 00:15:11,530 だから我々は、ループのために使用することができます 一つ一つの要素をステップ。 314 00:15:11,530 --> 00:15:13,530 >> しかし、それは本当にありません もはや場合、右? 315 00:15:13,530 --> 00:15:17,360 今、私たちは、キーと値のペアを持っている場所 キーが単語でマッピング、 316 00:15:17,360 --> 00:15:19,970 どのように我々は、すべての単語を反復処理しますか? 317 00:15:19,970 --> 00:15:22,420 まあ、幸いなことに、PHPが持っています あまりにもこれに対処するための方法、 318 00:15:22,420 --> 00:15:24,580 そのため、私たちは戻ってジャンプします 秒ループします 319 00:15:24,580 --> 00:15:30,780 ループの四種類を導入すること foreachループと呼ばれるPHPで存在します。 320 00:15:30,780 --> 00:15:34,430 そして、何foreachループがないことです それは基本的に同じ考えです。 321 00:15:34,430 --> 00:15:36,060 あなたは、配列の任意の種類のためにそれを使用することができます。 322 00:15:36,060 --> 00:15:38,100 しかし、それは基本的にです ループの場合と同じ考え方、 323 00:15:38,100 --> 00:15:40,750 代わりに用いる以外 インデックス番号、あなただけ 324 00:15:40,750 --> 00:15:45,830 ここで、この奇妙な構文を持っています あなたはすべての単一の要素を呼び出します 325 00:15:45,830 --> 00:15:47,550 このループの目的の名前を入力します。 326 00:15:47,550 --> 00:15:49,258 >> したがって、この場合には、 foreachの($キーとして$配列)。 327 00:15:49,258 --> 00:15:52,900 328 00:15:52,900 --> 00:15:56,450 基本的には、そのコメントのメモとして、 そのforeachループの内側に、 329 00:15:56,450 --> 00:16:00,466 それはすべての単一の上に行くために起こっています 典型的には、$配列の要素 330 00:16:00,466 --> 00:16:03,340 連想配列になるだろう、 しかし、実際には、配列の任意の種類とすることができます 331 00:16:03,340 --> 00:16:05,419 あなたは、PHPにしたいこと。 332 00:16:05,419 --> 00:16:07,210 そして、その中のすべての時間を あなたがかもしれないforループ 333 00:16:07,210 --> 00:16:13,780 $配列角括弧と述べています $私は、あなただけの$キーを言うことができます。 334 00:16:13,780 --> 00:16:22,340 だから、$キーは、すべてのエイリアスになります あなたのPHPの連想配列のインデックス、 335 00:16:22,340 --> 00:16:23,710 ので、あなたはそのようにそれを使用することができます。 336 00:16:23,710 --> 00:16:25,897 >> したがって、たとえば、私たちはしました 今私たちのピザの配列を得ました。 337 00:16:25,897 --> 00:16:27,730 私は種類のそれを押し込めてきました そこコーナーへ 338 00:16:27,730 --> 00:16:31,080 私たちは簡単な例を行うには、それを使用することができます。 339 00:16:31,080 --> 00:16:36,420 私は、foreachの($ピザが言うなら $ピザ)、よく、何が起きているのでしょうか? 340 00:16:36,420 --> 00:16:42,400 まあ、私はすべてを反復処理するつもりです 配列$ピザの単一の要素、 341 00:16:42,400 --> 00:16:46,670 そうすることで、私がコールするつもりです 私は内部のだすべての要素、 342 00:16:46,670 --> 00:16:49,400 そのループのボディの、ピザを$。 343 00:16:49,400 --> 00:16:52,440 >> だから、のようなものです スタンドで、リコール、その$ピザ 344 00:16:52,440 --> 00:16:59,140 スタンドで言っています $ピザ角括弧$ iが 345 00:16:59,140 --> 00:17:03,370 私たちは、forループを使用していた場合、どこ この場合には$ I = 0に、から行くことができます、 346 00:17:03,370 --> 00:17:06,089 $私は3を=。 347 00:17:06,089 --> 00:17:09,780 我々は、キーと値のペアを持っていなかった場合 ここで、これは要素0、1、2、3になり、 348 00:17:09,780 --> 00:17:16,390 そして私達は行くためにループのために使用します $ピザ0、$ピザ1、$ピザ2、 349 00:17:16,390 --> 00:17:17,750 $ピザ3。 350 00:17:17,750 --> 00:17:23,130 だから今ちょうど$ピザが代入されます その個々のキーの。 351 00:17:23,130 --> 00:17:25,630 >> それでは、このプリントアウトしようとしていますか? 352 00:17:25,630 --> 00:17:29,030 私は$のピザをプリントアウトしています。 353 00:17:29,030 --> 00:17:35,270 私はat--見つけるつもりです 私は、私は$、$ピザをプリントアウトしたら? 354 00:17:35,270 --> 00:17:35,770 右? 355 00:17:35,770 --> 00:17:38,680 私はプリントアウトするつもりだ場合 ピザのi番目の要素、 356 00:17:38,680 --> 00:17:40,070 何私は印刷するつもり? 357 00:17:40,070 --> 00:17:42,580 私はプリントアウトするつもりです その位置での値は、右? 358 00:17:42,580 --> 00:17:45,370 私たちがやっていた場合と同様に Cのコンテキストで、この、 359 00:17:45,370 --> 00:17:49,786 我々は通常、当社のイテレータを使用していません 変数で、i = 0をint型、私は、3未満であります 360 00:17:49,786 --> 00:17:52,900 iが0、1、2、3をプリントアウトするために、++します。 361 00:17:52,900 --> 00:17:57,500 私たちは、アレイ0をプリントアウトしています、 配列1、配列2、配列3。 362 00:17:57,500 --> 00:17:59,580 だから、これはプリントアウト何これです。 363 00:17:59,580 --> 00:18:01,150 それは価格のリストです。 364 00:18:01,150 --> 00:18:05,750 8.99、9.99、10.99、11.99。 365 00:18:05,750 --> 00:18:06,900 >> 今ここに簡単なメモ。 366 00:18:06,900 --> 00:18:10,900 foreachループは必ずしもありません 順序で物事をプリントアウト。 367 00:18:10,900 --> 00:18:12,770 それは保証されていません。 368 00:18:12,770 --> 00:18:13,550 これは通常ありません。 369 00:18:13,550 --> 00:18:17,667 これは通常の順序でに基づいています その要素は、アレイに追加され、 370 00:18:17,667 --> 00:18:18,750 これだけ心の中でそれを負担します。 371 00:18:18,750 --> 00:18:20,830 これは、順番にではないかもしれません。 372 00:18:20,830 --> 00:18:23,930 しかし、foreachループが繰り返されます 一つ一つの素子の両端 373 00:18:23,930 --> 00:18:25,060 問題の配列の。 374 00:18:25,060 --> 00:18:27,980 再び、この場合、 その配列は$ピザです。 375 00:18:27,980 --> 00:18:32,920 >> 私があれば、しかし、構文を変更することができます 私は、キーと値の両方を求めています。 376 00:18:32,920 --> 00:18:37,179 代わりに$ピザを言っての $ピザとして、私はこれを言うことができます。 377 00:18:37,179 --> 00:18:39,470 そして、あなたは私がしてきたことを見れば ここで緑色で強調表示、 378 00:18:39,470 --> 00:18:42,130 それは、キーと値のペアのマッピングのように見えます。 379 00:18:42,130 --> 00:18:45,980 だから、あなたがいない場合であってもyou--場合 完全にそれを行うには何が起こっているかを確認し、 380 00:18:45,980 --> 00:18:49,300 あなたはおそらく推測することができます その$トッピングが起こっています 381 00:18:49,300 --> 00:18:53,800 この場合の鍵とし、 $価格は値になるだろう。 382 00:18:53,800 --> 00:18:59,200 だから私は今、すべての要素を代入しています $のキーと値のペアとしてピザ、 383 00:18:59,200 --> 00:19:03,900 そして今、私はキーを参照することができますし、 値、かもしれない便利で、 384 00:19:03,900 --> 00:19:05,590 例えば、は以下の通り。 385 00:19:05,590 --> 00:19:10,170 >> 「全体」 - これは、多くのです here--「全体」に行く印刷 386 00:19:10,170 --> 00:19:17,300 トッピング後、価格、および「ピザは$の費用がかかります」 私は、期間およびバックスラッシュnをプリントアウト。 387 00:19:17,300 --> 00:19:23,420 だから今、私はへのアクセス権を持って再び気付きます キー、$トッピ​​ング、および値、$価格。 388 00:19:23,420 --> 00:19:26,647 だから、何、これを推測することができます プリントアウトしようとしていますか? 389 00:19:26,647 --> 00:19:29,480 print文がたくさんあり​​ます、 一つだけ、バックスラッシュnがあり、 390 00:19:29,480 --> 00:19:33,410 それは上で何かを印刷するために起こっています 単一のコード行にentire--。 391 00:19:33,410 --> 00:19:36,965 >> 私は、キーを参照することができる場合 そして、値は、ここで、 392 00:19:36,965 --> 00:19:39,090 だけではなく、できることの 価格をプリントアウトするには、 393 00:19:39,090 --> 00:19:41,330 私はこのような何かを印刷することができます。 394 00:19:41,330 --> 00:19:43,780 「全体のチーズのピザは$ 8.99かかります。」 395 00:19:43,780 --> 00:19:47,150 そして今、私はkeys--のすべてを使用しています チーズ、ペパロニ、野菜、 396 00:19:47,150 --> 00:19:49,640 水牛chicken--と値。 397 00:19:49,640 --> 00:19:53,980 8.99、9.99、10.99、11.99だから それはちょうど別の方法です 398 00:19:53,980 --> 00:19:57,840 代わりにforeachループを行うには ちょうどあなたの値へのアクセスを与えます、 399 00:19:57,840 --> 00:20:02,950 それはそれはあなたを与えるyou--与えます キーと値へのアクセス。 400 00:20:02,950 --> 00:20:04,411 >> だから、情報を印刷します。 401 00:20:04,411 --> 00:20:07,410 私はすでにそれをのカップルをやりました 別の方法は、あなたは気づいたかもしれません。 402 00:20:07,410 --> 00:20:11,080 私たちは主にきた二つの機能 印刷やエコーが見られます。 403 00:20:11,080 --> 00:20:14,380 そして、ほとんどすべての意図および 目的は、彼らはまったく同じです。 404 00:20:14,380 --> 00:20:17,130 They're--非常に微妙ではあります でも価値はない違い 405 00:20:17,130 --> 00:20:21,130 基本的にはどこにでも入るが、 あなたは、おそらく使用することができ、プリントを使用することができます 406 00:20:21,130 --> 00:20:22,370 同様にエコー。 407 00:20:22,370 --> 00:20:23,610 >> そして、それは2つだけではありません。 408 00:20:23,610 --> 00:20:26,970 PHPは異なるがたくさんあり​​ます 物事をプリントアウトする方法、 409 00:20:26,970 --> 00:20:30,520 それはまた、統合するための方法を持っています 文字列の真ん中に変数。 410 00:20:30,520 --> 00:20:32,860 だから、Cからリコールを行います どの機能を覚えて 411 00:20:32,860 --> 00:20:37,580 我々は、変数を置換するために使用することができます 物事に私たちは、プリントアウトしたいですか? 412 00:20:37,580 --> 00:20:40,160 おそらく、これを使用します 非常に多くの機能。 413 00:20:40,160 --> 00:20:42,290 printf関数は、右? 414 00:20:42,290 --> 00:20:45,290 だから、これは私達が内部の前に持っていたものです 私たちのforeachループのコンテキストの。 415 00:20:45,290 --> 00:20:48,000 我々は、これらの5つを持っていました 独立したprint文、 416 00:20:48,000 --> 00:20:50,330 それだけだったので、 私は本当に時に知っていた方法 417 00:20:50,330 --> 00:20:52,450 メッセージを印刷する方法について説明します。 418 00:20:52,450 --> 00:20:59,560 私は統合する方法を知りませんでした 私のPHPコードにトッピング変数$。 419 00:20:59,560 --> 00:21:03,700 まあ、私は野生推測を取った場合、 printf関数は、それが実際に働いているだろう。 420 00:21:03,700 --> 00:21:08,980 printf関数は、私が使用することができます機能です PHPで、私はC言語でそれを使用することができますように 421 00:21:08,980 --> 00:21:11,880 >> だから、このようなもの、のprintf、 再び、我々はそれに慣れています。 422 00:21:11,880 --> 00:21:16,420 最初の%sが置き換えられています $トッピングの値を持ちます。 423 00:21:16,420 --> 00:21:19,700 二%sが置き換えられています $価格の値を持ちます。 424 00:21:19,700 --> 00:21:22,630 そして私はinterpellatingよ、 これだけの空想の方法です 425 00:21:22,630 --> 00:21:25,400 私がこだわっているというのが その場所に変数。 426 00:21:25,400 --> 00:21:31,000 だから私はトッピングで$差し込むよどこ 赤い%sがあると$価格青の%s 427 00:21:31,000 --> 00:21:36,060 で、その後、私はメッセージになるだろう、 「全体のチーズのピザは$ 8.99かかります。」 428 00:21:36,060 --> 00:21:37,750 >> 私も、それを行うことができていない唯一の方法。 429 00:21:37,750 --> 00:21:39,760 たぶん私はこの方法を使用するとよいでしょう。 430 00:21:39,760 --> 00:21:44,890 これは、最も一般的に何実際にあります 可変質問と呼ばれます。 431 00:21:44,890 --> 00:21:45,690 私はエコーを使用することができます。 432 00:21:45,690 --> 00:21:47,737 我々が表示されますように私は、あまりにもプリントを使用することができます。 433 00:21:47,737 --> 00:21:48,820 しかし、ここで何が起きているのでしょうか? 434 00:21:48,820 --> 00:21:51,520 >> まず第一に、私がする必要があります ドル記号をエスケープします。 435 00:21:51,520 --> 00:21:55,140 私たちが実際にいたときだから、覚えています ピザの価格をプリントアウトし、 436 00:21:55,140 --> 00:21:59,370 私は実際としてそれらをフォーマットされました ドル記号と金銭的な数字。 437 00:21:59,370 --> 00:22:05,635 しかし、我々はまた、ドル記号を使用しています PHPの変数名を表すために、 438 00:22:05,635 --> 00:22:08,010 特に、私は時 カーリーのこの方法を使用して 439 00:22:08,010 --> 00:22:10,040 ブレース変数 質問の方法、私が必要 440 00:22:10,040 --> 00:22:13,490 それがないので、私のドル記号をエスケープします 私は、変数について話していると思います。 441 00:22:13,490 --> 00:22:16,920 これは、実際に起こっています、 文字通りドル記号を印刷します。 442 00:22:16,920 --> 00:22:19,530 >> だから、ソートのためにそれを類推 あなたが最後に見るもの。 443 00:22:19,530 --> 00:22:22,832 それは実際にはしません プリントバックスラッシュnは、右? 444 00:22:22,832 --> 00:22:24,290 これは、改行文字を出力します。 445 00:22:24,290 --> 00:22:26,750 これは、ことはないだろうis-- プリントバックスラッシュドル記号、 446 00:22:26,750 --> 00:22:30,130 それだけでプリントアウトすることが起こっています ドル記号。 447 00:22:30,130 --> 00:22:30,640 同じ考え。 448 00:22:30,640 --> 00:22:32,760 何、エスケープシーケンス これらの事が呼び出されます。 449 00:22:32,760 --> 00:22:37,080 >> しかし、私は致しておりませんことに注意してください %sの置換の任意の並べ替え、 450 00:22:37,080 --> 00:22:40,050 私は文字通り差し込むです これらの変数です。 451 00:22:40,050 --> 00:22:45,110 そしてそうthis--にここで何が起こりますか ことは、再び$ topping--の値であり、 452 00:22:45,110 --> 00:22:48,390 ちょうど私たちがしてきたものと一致して そうfar--チーズの話をすることになるだろう 453 00:22:48,390 --> 00:22:49,720 そこにプラグイン。 454 00:22:49,720 --> 00:22:54,780 $価格はどのような値になります ピザで、角括弧、チーズ、 455 00:22:54,780 --> 00:22:56,270 これは8.99でした。 456 00:22:56,270 --> 00:23:01,860 そして、これはまた、プリントアウトになります 「全体のチーズのピザは$ 8.99かかります。」 457 00:23:01,860 --> 00:23:05,160 私が言ったように、私は使用することができます ここでは、印刷の代わりに、エコー、 458 00:23:05,160 --> 00:23:08,040 そして、機能があること かなり正確に同じ。 459 00:23:08,040 --> 00:23:09,660 それは同じことをプリントアウトすることになります。 460 00:23:09,660 --> 00:23:12,680 >> それを行うための別の方法があります、 これは別の利点であります 461 00:23:12,680 --> 00:23:14,710 PHPの文字列を扱います。 462 00:23:14,710 --> 00:23:17,130 私たちは、文字列の連結を行うことができます。 463 00:23:17,130 --> 00:23:19,660 我々はあまりにも、C言語でこれを行うことができ、 strcatは呼び出された関数を使用して、 464 00:23:19,660 --> 00:23:21,180 しかし、再び、私たちはしなければなりませんでした 別々の関数を呼び出します。 465 00:23:21,180 --> 00:23:22,640 これは、行うには、この全体の混乱でした。 466 00:23:22,640 --> 00:23:24,590 私たちはしなければならなかったstring.hのがポンドが含まれます。 467 00:23:24,590 --> 00:23:25,780 それは右、生産でしたか? 468 00:23:25,780 --> 00:23:30,070 しかし、今私はこのドット演算子を使用することができます 一緒に文字列を連結します。 469 00:23:30,070 --> 00:23:34,910 >> だから私は「全体」を連結することだし、 その後、どのような$トッピングの値であり、 470 00:23:34,910 --> 00:23:38,860 し、別の 文字列、「ピザ費$ " 471 00:23:38,860 --> 00:23:42,340 して、どのような連結 $価格の値であり、 472 00:23:42,340 --> 00:23:45,670 して、一番最後に私がよ 期間バックスラッシュnにタック。 473 00:23:45,670 --> 00:23:47,926 そして、これはまた、希望 「全体」をプリントアウト - 再び、 474 00:23:47,926 --> 00:23:50,550 我々は最初の話をしている場合 そのピザの要素array-- 475 00:23:50,550 --> 00:23:54,710 「全体のチーズのピザは$ 8.99かかります。」 476 00:23:54,710 --> 00:24:01,260 再び期間、バックスラッシュnを、と $トッピングと$価格置換 477 00:24:01,260 --> 00:24:06,580 我々はforeachの中で指定されていた何のために キーと値のペアのマッピングなどのループ。 478 00:24:06,580 --> 00:24:08,050 >> PHPは関数を扱うことができます。 479 00:24:08,050 --> 00:24:11,250 機能は、ソートのました 我々が見たように、Cに不可欠。 480 00:24:11,250 --> 00:24:14,870 変数と同様に、我々はする必要はありません 関数の戻り値の型を指定し、 481 00:24:14,870 --> 00:24:16,350 それは本当に問題ではありませんので。 482 00:24:16,350 --> 00:24:18,660 そして、我々は指定されていません 任意のパラメータのデータ型、 483 00:24:18,660 --> 00:24:21,410 彼らは本当にないので、 問題は、我々はPHPで見てきたように。 484 00:24:21,410 --> 00:24:24,510 すべての機能が導入され、 functionキーワードで。 485 00:24:24,510 --> 00:24:27,920 それは我々がいることをPHPに示す方法です 私たちが話していることは機能です。 486 00:24:27,920 --> 00:24:29,720 >> そして、我々はする必要はありません まったく主に対処します、 487 00:24:29,720 --> 00:24:33,690 通訳のため、PHP 通訳、上から下に動作し、 488 00:24:33,690 --> 00:24:34,190 かかわらず。 489 00:24:34,190 --> 00:24:35,640 それは見ている場合は、することができます 関数呼び出し、それはよ 490 00:24:35,640 --> 00:24:37,850 関数呼び出しを探しに行きます、 でもそれは、後に来る場合。 491 00:24:37,850 --> 00:24:40,360 しかし、それは上から読み取ることが起こっています 底ので、指定する必要はありません、 492 00:24:40,360 --> 00:24:41,500 あなたが開始するのはここです。 493 00:24:41,500 --> 00:24:46,700 あなたのの1行目に開始します そこからPHPとダウン動作します。 494 00:24:46,700 --> 00:24:49,690 >> そこでここでは作成する方法であります hard_square、呼び出される関数です。 495 00:24:49,690 --> 00:24:54,100 これは明らかに1を取ります パラメータ、私は$ xを呼んでいます。 496 00:24:54,100 --> 00:24:58,424 この関数は、単に複雑になります いろいろなことを説明するためのものです。 497 00:24:58,424 --> 00:24:59,590 我々はまだ戻り値を持っています。 498 00:24:59,590 --> 00:25:00,870 私はここでforループを使用しています。 499 00:25:00,870 --> 00:25:04,970 しかし、それは基本的に、どのようにこれをです たったの$ X回$ xはに達します。 500 00:25:04,970 --> 00:25:10,520 私は実際には追加されてやっています X X回0または$ゼロの$ x倍にX。 501 00:25:10,520 --> 00:25:15,850 しかし、それは効果的に正確です $ xに回$ xを掛けると同じ。 502 00:25:15,850 --> 00:25:18,700 私はまだ値を返すことができ、 この場合、$結果で、 503 00:25:18,700 --> 00:25:22,060 私は、PHPの関数を作りました。 504 00:25:22,060 --> 00:25:24,160 >> ここでは、コンテキストでそれを使用する方法です。 505 00:25:24,160 --> 00:25:26,020 だから多分私はいくつかのPHPファイルの中です。 506 00:25:26,020 --> 00:25:29,240 そこにその青に注意してください 私はPHPの区切り文字を使用しました、 507 00:25:29,240 --> 00:25:31,010 アングルブラケット疑問符PHP。 508 00:25:31,010 --> 00:25:35,180 それらの間でのすべてです 私が書きたいのPHP。 509 00:25:35,180 --> 00:25:37,840 だから私は、明らかにget--するつもりです 私は、ユーザーに促すつもりです 510 00:25:37,840 --> 00:25:41,550 私の番号、店舗与えるために 変数は、その変数$ xの店、 511 00:25:41,550 --> 00:25:43,320 どのような彼らが私を与えました。 512 00:25:43,320 --> 00:25:48,590 それから私はエコーするつもりです その値のhard_square、 513 00:25:48,590 --> 00:25:50,370 そして、明らかに行きます 新しい行にタックします 514 00:25:50,370 --> 00:25:53,590 だけでなく、その後、後で私がよ そうhard_square関数を定義します 515 00:25:53,590 --> 00:25:55,550 私が作るときには hard_squareするために呼び出します、 516 00:25:55,550 --> 00:25:58,160 それは私が話していることを知っています。 517 00:25:58,160 --> 00:26:00,705 >> 今、私はまた、行うことができます このような何か。 518 00:26:00,705 --> 00:26:02,050 これは多少異なります。 519 00:26:02,050 --> 00:26:04,190 それはほぼ正確です 我々の前に見たものと同じで、 520 00:26:04,190 --> 00:26:08,400 除くだけではなく、$ Xを言って そこhard_squareするためのパラメータとして、 521 00:26:08,400 --> 00:26:11,730 私は、x = 10 $を言っています。 522 00:26:11,730 --> 00:26:14,330 だから、これは一例です 防衛的プログラミング、 523 00:26:14,330 --> 00:26:17,070 あなたのプログラムを守って 悪意のあるユーザーに対して。 524 00:26:17,070 --> 00:26:20,020 >> これは、いくつかのエラーを行うための一つの方法であります 私たちは本当にしなかったことを確認します 525 00:26:20,020 --> 00:26:24,670 C.のオプションとして持っている私たちは決して可能性 何かのデフォルト値を指定します。 526 00:26:24,670 --> 00:26:27,010 私たちは常に確認する必要がありました かどうか、例えば、 527 00:26:27,010 --> 00:26:30,820 私たちはのGetStringへの呼び出しを行った場合、それがありました すぐに私たちの後であれば最も適切な 528 00:26:30,820 --> 00:26:33,300 我々はチェックし、ことを確認 文字列かどうか 529 00:26:33,300 --> 00:26:35,504 ユーザーは私たちを与えたこと ヌルに等しくありません 530 00:26:35,504 --> 00:26:37,920 我々が開始したくないので、 ヌル文字列での作業。 531 00:26:37,920 --> 00:26:39,670 >> ここでは、これは方法です それを防ぐために。 532 00:26:39,670 --> 00:26:43,480 ユーザーは、私たちに何かを提供していない場合 何とか、私たちは何をするつもりですか? 533 00:26:43,480 --> 00:26:46,080 さて、私たちは何でもちょうど言いますよ 彼らは私たちを提供していませんでした、 534 00:26:46,080 --> 00:26:47,705 私たちは代わりに10をプラグインするつもりです。 535 00:26:47,705 --> 00:26:52,030 だから彼らは私たちに価値を与えていない場合は、 ただ、デフォルトでは10を使用しています。ので、ここで、 536 00:26:52,030 --> 00:26:53,940 私が作ってるんだということに気付きます hard_squareの呼び出し、 537 00:26:53,940 --> 00:26:55,980 しかし、何のプロンプトはありません ユーザーに、右か? 538 00:26:55,980 --> 00:26:57,540 私はちょうど空のコールを作ってるんです。 539 00:26:57,540 --> 00:27:00,860 >> しかし、私の関数はhard_square パラメータを期待しています。 540 00:27:00,860 --> 00:27:02,222 プリントアウトするつもりはこれは何ですか? 541 00:27:02,222 --> 00:27:03,680 それは右、100をプリントアウトするために起こっているのですか? 542 00:27:03,680 --> 00:27:05,720 ユーザーはしませんでしたので 私に何かを与えます。 543 00:27:05,720 --> 00:27:08,970 そして私はちょうど仮定するつもりです その10-- 10デフォルト値です。 544 00:27:08,970 --> 00:27:13,760 そして、これは印刷し うち100独自の行に。 545 00:27:13,760 --> 00:27:16,390 >> PHPファイルがする必要はありません 単に1つのファイルです。 546 00:27:16,390 --> 00:27:19,480 あなたが一緒に複数のファイルを結合することができ、 ちょうどCであなたができる方法のように 547 00:27:19,480 --> 00:27:24,330 我々はC言語で行うには、一般的であったことでした ヘッダファイルを取得するための#includeはに引っ張ら。 548 00:27:24,330 --> 00:27:26,180 私たちは、PHPでそれをしないでください。 549 00:27:26,180 --> 00:27:29,110 私たちはするrequire_onceと呼ばれる何かをします。 550 00:27:29,110 --> 00:27:33,360 そして、この全体があります 事、この__ DIR__は何ですか? 551 00:27:33,360 --> 00:27:36,510 それはちょうど特別です 変数、または特殊定数、 552 00:27:36,510 --> 00:27:39,030 本当に、それは何を指定します あなたの現在のディレクトリです。 553 00:27:39,030 --> 00:27:41,320 そしてそれが見えるようになるだろう あなたの現在のディレクトリに 554 00:27:41,320 --> 00:27:44,900 cs50.phpと呼ばれるファイルのための ここで、この例では、 555 00:27:44,900 --> 00:27:50,490 そして、それはそのファイルを固執するだろう PHPのプログラムの先頭で、 556 00:27:50,490 --> 00:27:56,980 あなたが必要を置くと仮定 PHPのファイルの先頭に行一度。 557 00:27:56,980 --> 00:28:01,474 >> だから、PHPは主に、使用されています 排他的ではないが使用され、 558 00:28:01,474 --> 00:28:03,140 Webベースのプログラミングのための言語として。 559 00:28:03,140 --> 00:28:05,270 それはそれがためになったのか、本当にです。 560 00:28:05,270 --> 00:28:06,980 しかし、それがいっぱいです 我々が見てきたよう言語。 561 00:28:06,980 --> 00:28:10,105 私たちは、ほとんどすべてのものを見てきました それはCに似ていること行うことができ、 562 00:28:10,105 --> 00:28:13,290 そしてそれはの一体を行うことができます それよりもっとたくさん。 563 00:28:13,290 --> 00:28:16,950 >> しかし、それは完全な言語、私たちだから その中にコマンドラインのプログラミングを行うことができます。 564 00:28:16,950 --> 00:28:18,630 私たちは、コマンドラインプログラムを実行することができます。 565 00:28:18,630 --> 00:28:22,580 すべてのことは、コマンドを実行するために必要です PHPで書かれているラインプログラム 566 00:28:22,580 --> 00:28:24,260 あなたは、PHPインタプリタを持っているということです。 567 00:28:24,260 --> 00:28:27,460 だから、一種の類似のです システム上のコンパイラを持ちます 568 00:28:27,460 --> 00:28:31,100 あなたのCコードをコンパイルしたい場合 実行可​​能ファイルにそれをオンにします。 569 00:28:31,100 --> 00:28:33,810 あなたは、PHPインタプリタを持っている必要があります それはあなたのシステム上に存在します 570 00:28:33,810 --> 00:28:37,330 あなたがPHPファイルを解釈できるようにします。 571 00:28:37,330 --> 00:28:40,370 >> あなたが行うと仮定すると、通常 このインタプリタはPHPと呼ばれ、 572 00:28:40,370 --> 00:28:44,300 それは通常、ほとんどにバンドルされています ダウンロードやPHPのインストール 573 00:28:44,300 --> 00:28:47,430 あなたがオンラインで入手することができ、確かに PHPインタプリタの名前 574 00:28:47,430 --> 00:28:49,550 我々は、CS50にIDEを持っています。 575 00:28:49,550 --> 00:28:51,819 あなたが行うすべては、型のPHPファイルです。 576 00:28:51,819 --> 00:28:53,610 そして、何あなたのプログラムの 何をするつもりは、それがあるのです 577 00:28:53,610 --> 00:28:55,360 介して実行しようとして 通訳、それはです 578 00:28:55,360 --> 00:28:58,040 だすべてを無視しようとして ない質問の間でmark-- 579 00:28:58,040 --> 00:29:03,160 または、アングルブラケット疑問符のPHP、 PHPの区切り文字、およびそれをプリントアウトし、 580 00:29:03,160 --> 00:29:07,660 そして、それは解釈して実行されます PHPの区切り文字の内部コード。 581 00:29:07,660 --> 00:29:12,850 >> それでは、CS50 IDEにオーバーポップ聞かせ PHPファイルのカップルを見て、 582 00:29:12,850 --> 00:29:19,850 で、PHPファイルのカップルを実行しています CS50 IDEのコマンドラインインタフェース。 583 00:29:19,850 --> 00:29:22,100 そこでここでは、CS50 IDEであり、 私は自由を撮影しました 584 00:29:22,100 --> 00:29:25,800 hello1.phpと呼ばれるファイルを開きます。 585 00:29:25,800 --> 00:29:29,920 これと明らかに、内容 ファイルがちょうどPHPの区切り文字であり、 586 00:29:29,920 --> 00:29:32,220 そして、、エコーの間で(「こんにちは、世界」)。 587 00:29:32,220 --> 00:29:34,710 これは非常に単純なPHPプログラムです。 588 00:29:34,710 --> 00:29:37,670 私は下にスクロールするつもりです ここに私の端末ウィンドウに、 589 00:29:37,670 --> 00:29:44,320 私はPHPを入力するつもりです hello1.php、エンターキーを押し。 590 00:29:44,320 --> 00:29:44,950 こんにちは世界。 591 00:29:44,950 --> 00:29:48,110 それは我々が何であったか、おそらくです それが何を期待し、右? 592 00:29:48,110 --> 00:29:51,140 >> のが上がると見てみましょう 別のプログラムを見てください。 593 00:29:51,140 --> 00:29:52,924 hello2.php。 594 00:29:52,924 --> 00:29:55,090 ほとんど同じこと、 多くはここで起こっていません。 595 00:29:55,090 --> 00:29:57,190 この時間は、しかし、私が促すつもりです ユーザーは私に自分の名前を得ました。 596 00:29:57,190 --> 00:29:59,290 私は再びそのreadlineの機能を使用しています。 597 00:29:59,290 --> 00:30:01,340 $名= readlineの。 598 00:30:01,340 --> 00:30:03,070 それはプロンプトの「あなたの名前は何ですか?」 599 00:30:03,070 --> 00:30:04,880 >> どうやら私は印刷です それ独自の行に。 600 00:30:04,880 --> 00:30:07,220 そして、そのように下の行 それは迅速になります 601 00:30:07,220 --> 00:30:08,750 ここで、ユーザーが自分の名前を入力することができます。 602 00:30:08,750 --> 00:30:12,030 そして、私は少しを使用しています 3行目のここ可変質問 603 00:30:12,030 --> 00:30:14,780 「こんにちは」をプリントアウトし、 どんなユーザタイプ。 604 00:30:14,780 --> 00:30:22,040 これは、こんにちは、言うのと似ています カンマ、%sの我々はCのprintf関数を使用していた場合 605 00:30:22,040 --> 00:30:24,910 >> それでは、行って、このプログラムを解釈してみましょう。 606 00:30:24,910 --> 00:30:27,400 だからもう一度、私は下にスクロールします 私の端末ウィンドウに。 607 00:30:27,400 --> 00:30:29,070 PHPのhello2.php。 608 00:30:29,070 --> 00:30:31,920 609 00:30:31,920 --> 00:30:33,820 お名前は何ですか? 610 00:30:33,820 --> 00:30:35,490 ダグ。 611 00:30:35,490 --> 00:30:36,526 こんにちは、ダグ。 612 00:30:36,526 --> 00:30:39,440 私はまた別のものを持っています ファイルはhello3.phpと呼ばれます。 613 00:30:39,440 --> 00:30:42,850 私は自分をクリアするつもりです コントロールLでスクリーン、 614 00:30:42,850 --> 00:30:46,210 私はそれを実行するつもりです。 615 00:30:46,210 --> 00:30:47,640 お名前は何ですか? 616 00:30:47,640 --> 00:30:49,020 ダグ。 617 00:30:49,020 --> 00:30:49,780 こんにちは、ダグ。 618 00:30:49,780 --> 00:30:56,540 だから、動作は同じです hello2.phpが、なぜそれがhello3.phpですか? 619 00:30:56,540 --> 00:30:58,040 >> さて、ここでの違いです。 620 00:30:58,040 --> 00:31:00,620 この場合、通知 そのここで1行目に、 621 00:31:00,620 --> 00:31:04,270 私はない何かを持っています PHPの区切り文字の間です。 622 00:31:04,270 --> 00:31:07,760 私はちょうどout--またはIを印刷しています ただ「あなたの名前は?」、入力されました 623 00:31:07,760 --> 00:31:12,060 PHPインタプリタはこれを見ているときに、それを PHPとして、それをどのように解釈するかは考えを持っていません、 624 00:31:12,060 --> 00:31:15,060 ので、代わりに失敗し、 それはちょうどそれを吐き出すために起こっています。 625 00:31:15,060 --> 00:31:19,010 >> だから、今3行目に私の呼び出しに気付きます readlineが、何のプロンプトはもうありません。 626 00:31:19,010 --> 00:31:21,750 私は実際にto--ときつもりです PHPインタープリタはこれを見て、 627 00:31:21,750 --> 00:31:23,400 それはプリントアウトになるだろう "お名前は何ですか?" 628 00:31:23,400 --> 00:31:25,941 そして、それはhere's--、[OK]を、ああ、見ています 他のすべてがあることを行っています 629 00:31:25,941 --> 00:31:29,970 ので、PHPのように解釈 この作品理由です。 630 00:31:29,970 --> 00:31:34,990 私は必ずしも求めする必要はありません readlineの内部ユーザーto--、 631 00:31:34,990 --> 00:31:37,490 私はちょうど外にそれを持つことができます PHPの区切り文字の 632 00:31:37,490 --> 00:31:41,490 通訳を許可します ちょうど私のためにそれをプリントアウトします。 633 00:31:41,490 --> 00:31:45,364 >> だから、実際にはありません PHPの区切り文字のいずれかのセットを持っています 634 00:31:45,364 --> 00:31:46,030 あなたのプログラムです。 635 00:31:46,030 --> 00:31:49,887 あなたが実際にそれらのいくつかを持つことができ、 開放し、必要に応じて閉じます。 636 00:31:49,887 --> 00:31:51,720 それでは、見てみましょう プログラムのカップルで、 637 00:31:51,720 --> 00:31:55,070 CS50 IDEのどこ 持っていることのこの考え方を説明します 638 00:31:55,070 --> 00:31:58,376 区切られたPHPの複数のセット。 639 00:31:58,376 --> 00:32:02,010 >> [OK]をので、私は、ファイルを開きました ここadd1.phpと呼ばれます。 640 00:32:02,010 --> 00:32:03,390 そして、ここで何が起こっているかがわかります。 641 00:32:03,390 --> 00:32:08,077 ただ、以前のように、私が持っています 区切り文字の単一のPHPセット。 642 00:32:08,077 --> 00:32:10,660 私はプリントアウトするつもりです メッセージは、「私の番号を教えてください。」 643 00:32:10,660 --> 00:32:13,394 その後、私はラインを読むつもりだと 変数$ NUM1に保管します。 644 00:32:13,394 --> 00:32:14,810 その後、私は再びプリントアウトするつもりです。 645 00:32:14,810 --> 00:32:16,310 私の第二の数を与えます。 646 00:32:16,310 --> 00:32:20,450 ユーザー、店舗からラインを読みます 彼らは、$ NUM2にで入力したものは何でも。 647 00:32:20,450 --> 00:32:23,980 それらを一緒に追加し、それを保存します $和と呼ばれる変数になり、 648 00:32:23,980 --> 00:32:26,180 し、 "、プリントアウト これら2つの数の和 649 00:32:26,180 --> 00:32:29,254 、である "とし、質問します そこに変数$合計。 650 00:32:29,254 --> 00:32:31,170 それでは、ただこれを実行してみましょう 通訳を介して、 651 00:32:31,170 --> 00:32:33,720 これは我々が期待するものであることを確認します。 652 00:32:33,720 --> 00:32:37,540 PHPのadd1.php。 653 00:32:37,540 --> 00:32:38,665 私の数、3を教えてください。 654 00:32:38,665 --> 00:32:40,410 私の第二の数、4を教えてください。 655 00:32:40,410 --> 00:32:43,370 これら2つの数の和は7です。 656 00:32:43,370 --> 00:32:45,030 それは3プラス4です。 657 00:32:45,030 --> 00:32:45,530 OK? 658 00:32:45,530 --> 00:32:47,770 だから、ものすごく派手な何も。 659 00:32:47,770 --> 00:32:51,080 >> そして今のはadd2.phpを開きましょう。 660 00:32:51,080 --> 00:32:54,460 ここで、私は、PHPのカップルを持っています そこにセット区切り、右? 661 00:32:54,460 --> 00:32:59,107 行1、3--ライン1とライン 3には、PHPの区切り文字がありません。 662 00:32:59,107 --> 00:33:00,940 だから、ときに通訳 それらを見て、それだけです 663 00:33:00,940 --> 00:33:03,220 正確に吐き出すつもり 何私はそこに入力しました。 664 00:33:03,220 --> 00:33:05,011 私はどこにいるのです すべての私のプロンプトを行うこと。 665 00:33:05,011 --> 00:33:11,220 ライン2と4で、我々は非常にを参照してください おなじみの$?区切り文字のPHPのソート、 666 00:33:11,220 --> 00:33:15,210 ので、これらの2行があります PHPとして実行しよう。 667 00:33:15,210 --> 00:33:18,270 そして、5行目で、私はこれを持っています 右ここで奇妙なことですよね? 668 00:33:18,270 --> 00:33:20,480 この角度ブラケット 疑問符等号。 669 00:33:20,480 --> 00:33:22,660 私は少しでもさらに拡大します。 670 00:33:22,660 --> 00:33:29,270 あなたは、これは私は何である見ることができます すぐそこの話、この$?=。 671 00:33:29,270 --> 00:33:33,420 >> それはそれは非常に一般的だということが判明 我々は、PHPのセットを開く理由 672 00:33:33,420 --> 00:33:36,055 区切り文字値をプリントアウトすることです。 673 00:33:36,055 --> 00:33:37,430 そして、それは私たちがやろうとしているすべてです。 674 00:33:37,430 --> 00:33:39,220 しかし、そのためであっても速記あります。 675 00:33:39,220 --> 00:33:46,490 $?=言ってPHPの省略形です $のようなもの?合計エコーPHP 676 00:33:46,490 --> 00:33:48,350 NUM1とNUM2の。 677 00:33:48,350 --> 00:33:51,900 だから、これはただのです そのための速記。 678 00:33:51,900 --> 00:33:55,550 >> 私はこのプログラム、PHPのadd2.phpを実行するのであれば。 679 00:33:55,550 --> 00:33:57,530 私は少しズームダウンします。 680 00:33:57,530 --> 00:33:59,000 私の番号、4を教えてください。 681 00:33:59,000 --> 00:34:00,350 私の第二の数を教えてください。 682 00:34:00,350 --> 00:34:04,650 そして、私は本当に気にしないので、 PHPのデータ型は、私が4.8を言うことができます。 683 00:34:04,650 --> 00:34:07,160 これら2つの数の和は8.8です。 684 00:34:07,160 --> 00:34:10,179 この関数はかなりに動作します 私たちは期待とまったく同じ、 685 00:34:10,179 --> 00:34:10,989 同様に。 686 00:34:10,989 --> 00:34:13,114 そして、私は1つは、よりオープンしています ここまでdice.phpと呼ばれます。 687 00:34:13,114 --> 00:34:25,625 688 00:34:25,625 --> 00:34:26,250 再びこれを試してみてください。 689 00:34:26,250 --> 00:34:29,429 690 00:34:29,429 --> 00:34:33,280 私はここで1以上を求めています また、参照dice1.php、 691 00:34:33,280 --> 00:34:37,440 その角度ブラケットの質問を持っています そこに等号表記をマークし、 692 00:34:37,440 --> 00:34:40,659 この場合には私がいることに気付きます 関数のrandを呼び出し、どのあなたと 693 00:34:40,659 --> 00:34:42,790 期待するかもしれない乱数を生成します。 694 00:34:42,790 --> 00:34:46,889 "あなたは、ロール"、それがために起こっています いくつかのランダムな数を計算、MOD 6 + 695 00:34:46,889 --> 00:34:47,389 1。 696 00:34:47,389 --> 00:34:49,989 だからそれは私に数をあげます 1〜6の範囲です。 697 00:34:49,989 --> 00:34:53,040 >> MOD 6は私を与えることを忘れないでください 0〜5の範囲の数、 698 00:34:53,040 --> 00:34:56,630 私はダイスロールをシミュレートしている場合は、 これは私がここでやっているものです、 699 00:34:56,630 --> 00:35:00,040 私はこれらのサイコロは、0から行きたくありません 5に、私は1から6に行くサイコロをしたいです。 700 00:35:00,040 --> 00:35:02,800 そして、これは取得する方法です 私1〜6の範囲です。 701 00:35:02,800 --> 00:35:04,720 私はこれを2回やっています。 702 00:35:04,720 --> 00:35:08,630 だから、明らかに私はローリングしています このプログラム内の2つのサイコロ。 703 00:35:08,630 --> 00:35:15,210 >> だから、私は、画面をクリアします、 私はPHPのdice1.phpをやります。 704 00:35:15,210 --> 00:35:16,640 あなたは4と2を圧延しました。 705 00:35:16,640 --> 00:35:19,156 そして、私はプログラムを実行した場合 再び、あなたは5,5を圧延しました。 706 00:35:19,156 --> 00:35:21,780 だから私は、プログラムを実行するたびに、 私は、異なる番号を取得しています 707 00:35:21,780 --> 00:35:24,280 なぜなら私はすべての時間 そう、それがオーバー始めて。 708 00:35:24,280 --> 00:35:27,250 これは、新しいを生成するために起こっています 私のための乱数のセット。 709 00:35:27,250 --> 00:35:29,790 >> 我々はに慣れているのであれば Cからプログラムを実行して、 710 00:35:29,790 --> 00:35:32,520 我々は./入力に慣れています プログラムの名前、右? 711 00:35:32,520 --> 00:35:35,090 それは我々がすべてをやった方法です C言語で私たちのプログラムのこれまでのところ。 712 00:35:35,090 --> 00:35:37,555 我々としても、PHPでこれを行うことができます 何かを追加することによって呼び出されます 713 00:35:37,555 --> 00:35:40,026 私たちのPHPファイルの先頭にシバン。 714 00:35:40,026 --> 00:35:41,400 私はそれが愚かな言葉のようなものだ知っています。 715 00:35:41,400 --> 00:35:44,540 これは、ハッシュ強打の略です。 716 00:35:44,540 --> 00:35:46,300 それが最初の2文字です。 717 00:35:46,300 --> 00:35:50,030 私たちは感嘆符を呼び出し忘れないでください コンピュータサイエンスの頻繁に強打。 718 00:35:50,030 --> 00:35:51,690 また、鋭い強打のためかもしれません。 719 00:35:51,690 --> 00:35:53,273 それを解釈するカップルの方法があります。 720 00:35:53,273 --> 00:35:57,320 しかし、それは基本的に特別なソートです PHPインタプリタそのコマンドの 721 00:35:57,320 --> 00:36:00,160 ああ、私はしたい、として理解 あなたはこのプログラムを実行するために、 722 00:36:00,160 --> 00:36:05,250 これは明らかに/ユーザー/ binに/ PHP、あります 実際にどこにPHPのインタプリタです 723 00:36:05,250 --> 00:36:08,590 特に私たちのシステムに住んでいます。 724 00:36:08,590 --> 00:36:12,530 だからここに何が起こりますかさit's-- インタプリタはああ、理解し、 725 00:36:12,530 --> 00:36:17,270 私は、明らかに使用するようになっています このプログラムでは、このファイルを実行します。 726 00:36:17,270 --> 00:36:20,010 そしてそれはあなたを可能にします ステップをスキップします 727 00:36:20,010 --> 00:36:22,979 PHPのsomething.phpを言ってたの。 728 00:36:22,979 --> 00:36:25,020 一つの他のキャッチがあります ここで、もし私たちということです 729 00:36:25,020 --> 00:36:27,320 私たちのプログラムにしたいです 予想通り、私たちの仕事 730 00:36:27,320 --> 00:36:30,220 呼ばれる何かをする必要があり ファイルのパーミッションを変更。 731 00:36:30,220 --> 00:36:33,380 そして、我々はgo--だろうと、私たちは少し話します ファイルアクセス許可の変更についてもう少し 732 00:36:33,380 --> 00:36:37,550 MVCの私たちのビデオでは、それだけにはそれで十分 これはあなたが何をする必要があるかであると言います 733 00:36:37,550 --> 00:36:42,760 するためにあなたの .phpファイルを実行可能。 734 00:36:42,760 --> 00:36:49,330 それでは、このを見てみましょう CS50 IDEで私たちの最後の例を超えます。 735 00:36:49,330 --> 00:36:53,910 >> だからここにIDEで、私はこの2つのファイルを持っています ではないと思われるPHPのディレクトリ 736 00:36:53,910 --> 00:36:55,310 .PHPと呼ばれます。 737 00:36:55,310 --> 00:36:58,170 私はと呼ばれる機能を持っていますadd-- 私はADD3と呼ばれるファイルを持っています 738 00:36:58,170 --> 00:37:00,650 そして、ファイルdice2と呼ばれます。 739 00:37:00,650 --> 00:37:03,680 それでは、素早くてみましょう 見て、ADD3を開きます。 740 00:37:03,680 --> 00:37:08,300 そして、あなたは初めに、見ることができるように 私のファイルの私は右、このシバンがありますか? 741 00:37:08,300 --> 00:37:11,420 このハッシュマーク感嘆符。 742 00:37:11,420 --> 00:37:15,115 さて、あなたはおそらくもよ 何らかの理由でそれに気づきます、 743 00:37:15,115 --> 00:37:16,990 私は、構文を持っていません もうハイライト、 744 00:37:16,990 --> 00:37:20,198 これは、私が以前に言及したものです これは私が私のファイル名を指定しない場合はということでした 745 00:37:20,198 --> 00:37:23,040 .PHP、私が利益を持っていません 構文の強調表示、もう。 746 00:37:23,040 --> 00:37:26,220 このファイルは単にADD3と呼ばれています。 747 00:37:26,220 --> 00:37:30,960 私は後でそれを実行できるように ADD3はない./ add3.php ./と。 748 00:37:30,960 --> 00:37:33,680 >> それはまだだそうreason-- 罰金、それはまだ有効なPHPですが、 749 00:37:33,680 --> 00:37:37,000 それがあるため、強調表示の構文ではありません このファイルはsomething.php呼び出されません。 750 00:37:37,000 --> 00:37:41,580 それが唯一の本当の違いです ここで、プラスシバン。 751 00:37:41,580 --> 00:37:45,170 それでは、何が起こるか見てみましょう 私が試してみて、このプログラムを実行します。 752 00:37:45,170 --> 00:37:50,780 ./ ADD3、ちょうど私がCのバッシュの場合と同様の。 753 00:37:50,780 --> 00:37:53,190 ./ ADD3許可が拒否されました。 754 00:37:53,190 --> 00:37:55,390 これは、あなたが行っているものです あなたが忘れてしまったかどうかを確認します 755 00:37:55,390 --> 00:37:59,280 変更するには、chmodコマンドを使用するには ファイルのパーミッション。 756 00:37:59,280 --> 00:38:03,845 >> それは、通常のPHPを結局のところ ファイルだけで実行することはできません。 757 00:38:03,845 --> 00:38:06,970 彼らは解釈できるが、我々はしています ここでは少し違う何かをすること。 758 00:38:06,970 --> 00:38:07,761 我々はそれを実行しています。 759 00:38:07,761 --> 00:38:12,970 そして、私は許可を追加する必要があります 実行の、+ xにADD3ます。chmod。 760 00:38:12,970 --> 00:38:15,680 それから私は、./ ADD3を言うことができます。 761 00:38:15,680 --> 00:38:16,860 私の番号を教えてください。 762 00:38:16,860 --> 00:38:18,060 5,6。 763 00:38:18,060 --> 00:38:20,490 これら2つの数の和は11です。 764 00:38:20,490 --> 00:38:26,530 >> 同様に、私はすでにchmodedています dice2ので、私はちょうどdice2を./入力することができ、 765 00:38:26,530 --> 00:38:31,260 あなたは、1と1を圧延しました ように5,4、および圧延。 766 00:38:31,260 --> 00:38:33,680 >> だから、かなりです PHPの構文のアイデア、右? 767 00:38:33,680 --> 00:38:35,221 介して取得する多くがあり、私は知っています。 768 00:38:35,221 --> 00:38:39,160 しかし、うまくいけば、あなたは今ではPHPを見てきました 本当にCからその違いはありません 769 00:38:39,160 --> 00:38:43,670 本当に私たちの能力を提供します ノッチまたは2の物事を取ります。 770 00:38:43,670 --> 00:38:48,230 私たちは本当に心配する必要はありません あまりにも多くの私たちは本当にありませんabout-- 771 00:38:48,230 --> 00:38:51,605 あまり心配する必要はあり 低レベルの詳細我々 772 00:38:51,605 --> 00:38:52,980 右、Cと心配していましたか? 773 00:38:52,980 --> 00:38:56,170 我々は、より高いに焦点を当てることができます レベルのものというPHP 774 00:38:56,170 --> 00:39:01,090 私たちが行うとするために取ることができます それが私たちのために動作することを認めました。 775 00:39:01,090 --> 00:39:04,350 だから、今、私たちに力を与え、 、CからPHPへの移行 776 00:39:04,350 --> 00:39:08,280 より多くのあるプログラムを作るために 複雑で、おそらく多くの、より堅牢。 777 00:39:08,280 --> 00:39:13,070 >> だから私は、あなたが楽しい作業と思っています PHPで、私はダグロイドです。 778 00:39:13,070 --> 00:39:15,050 これはCS50です。 779 00:39:15,050 --> 00:39:17,637