1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [第8項] [あまり快適] 2 00:00:02,000 --> 00:00:04,000 [ネイトHardison] [ハーバード大学] 3 00:00:04,000 --> 00:00:08,000 [これはCS50です。] [CS50.TV] 4 00:00:08,000 --> 00:00:11,000 >> 最後のセクションへの我々の第二へようこそ。 5 00:00:11,000 --> 00:00:13,000 今週、私たちは、PHP、そして次の週の話を​​するつもりだ 6 00:00:13,000 --> 00:00:17,000 我々は1クイズのために少しのレビューをやる。 7 00:00:17,000 --> 00:00:20,000 私たちは、問題設定し、パックの3ページ目に開始するつもりだ、 8 00:00:20,000 --> 00:00:28,000 そして我々はかなり迅速に質問のセクションを介して動作します。 9 00:00:28,000 --> 00:00:34,000 3ページ目に、我々はCとPHPの間のこの違いについて話し始める 10 00:00:34,000 --> 00:00:38,000 PHPは動的型付け言語であるという意味で、 11 00:00:38,000 --> 00:00:42,000 Cは静的に型付けされているのに対し、 12 00:00:42,000 --> 00:00:46,000 と誰もが本当に早く、PHPのようなもので、コーディングを行っている 13 00:00:46,000 --> 00:00:51,000 やPythonやRubyの前には、JavaScript? 14 00:00:51,000 --> 00:00:53,000 全く新しい?オーケー。 15 00:00:53,000 --> 00:00:56,000 >> 私が今述べたことをこれらすべての言語 16 00:00:56,000 --> 00:01:01,000 CおよびC + +やJavaのような言語とは大きく異なっている 17 00:01:01,000 --> 00:01:04,000 変数を宣言するときに宣言する必要がないという意味で 18 00:01:04,000 --> 00:01:09,000 それがどのような変数のため、C言語で私たちはいつも言ってしなくて立ち往生していた 19 00:01:09,000 --> 00:01:13,000 これはint型の変数であることを行っている、またはこれはchar *変数になるだろう、 20 00:01:13,000 --> 00:01:16,000 RubyとPythonでPHPの、と一方 21 00:01:16,000 --> 00:01:20,000 これらのより近代的な言語の多くでは、すべてであることを行う必要はありません。 22 00:01:20,000 --> 00:01:24,000 あなたは自分の変数を宣言しており、PHPの場合 23 00:01:24,000 --> 00:01:28,000 あなたは、$記号を先頭に付けることで、それが変数であることを宣言 24 00:01:28,000 --> 00:01:35,000 その後、変数の型は、それが保持​​している値によって決定されます 25 00:01:35,000 --> 00:01:38,000 これはクールの一種である。 26 00:01:38,000 --> 00:01:44,000 この少しいじって、我々はここにサンプルPHPコードを持って 27 00:01:44,000 --> 00:01:47,000 開始タグと終了タグの間にインチ 28 00:01:47,000 --> 00:01:53,000 我々は、ある意味でHTMLのように、この種のを使用していること 29 00:01:53,000 --> 00:01:56,000 私達は開いたり閉じたりするここで、これらの角カッコを持っている。 30 00:01:56,000 --> 00:01:58,000 あなたは、HTMLでこれが表示されます。 31 00:01:58,000 --> 00:02:03,000 あなたもXMLと同じ種類の構文が表示されます。 32 00:02:03,000 --> 00:02:06,000 >> これは、PHPブロックの始まりを示します。 33 00:02:06,000 --> 00:02:09,000 これですか?phpがPHP固有のものです。 34 00:02:09,000 --> 00:02:16,000 我々としても?>ですべてを閉じます。 35 00:02:16,000 --> 00:02:22,000 あなたが好きなものは何でも使って我々のアプライアンスでファイルを開きましょう。 36 00:02:22,000 --> 00:02:25,000 このパケットには、dynamic.phpを呼び出すように述べています。 37 00:02:25,000 --> 00:02:29,000 真実では、あなたが好きなものは何でもそれを呼び出すことができますが、ファイル名が出てくる 38 00:02:29,000 --> 00:02:34,000 以降では、そうちょうどあなたがそれを呼び出す何でも覚えていることが重要。 39 00:02:34,000 --> 00:02:36,000 私は、アプライアンスに切り替えるつもり 40 00:02:36,000 --> 00:02:43,000 と私はのためのディレクトリを作成するつもりです 41 00:02:43,000 --> 00:02:48,000 セクション9は、私たちが今にいると信じています。 42 00:02:48,000 --> 00:02:51,000 そして、我々は、セクション9に行くよ 43 00:02:51,000 --> 00:02:54,000 と私はgeditを使用するつもりです。 44 00:02:54,000 --> 00:02:59,000 Let 'sは、geditを見て、私は私dynamic.phpを呼び出すつもりです。 45 00:02:59,000 --> 00:03:03,000 ブーム。 46 00:03:03,000 --> 00:03:06,000 dynamic.php内では、これはPHPファイルであるため、 47 00:03:06,000 --> 00:03:09,000 と私は、PHPインタプリタを介してこれを実行したい 48 00:03:09,000 --> 00:03:12,000 私は、これらのオープンタグですべてをオフに開始する必要があります 49 00:03:12,000 --> 00:03:17,000 ので、私はすぐにそれらの権利を開始するつもりだ 50 00:03:17,000 --> 00:03:23,000 自分自身のタグの間に少しスペースを与える、 51 00:03:23,000 --> 00:03:26,000 その後この練習のポイントは、をいじってました 52 00:03:26,000 --> 00:03:34,000 この関数は右ここにGetTypeを、この関数のように、GetTypeメソッドと呼ばれる。 53 00:03:34,000 --> 00:03:38,000 >> そのようにアンダースコア(_)またはスペース、ハイフン、または何もないがないことに注意してください 54 00:03:38,000 --> 00:03:42,000 2ワードを分離し、完全に、ちょうど1つの単語を取得し、入力します。 55 00:03:42,000 --> 00:03:46,000 私は、GetTypeに変数を渡した場合でも、これが何を尽くすことであり、 56 00:03:46,000 --> 00:03:51,000 $ varまたは$ xを、言う 57 00:03:51,000 --> 00:03:55,000 これは私にデバッグ形式の種類のを教えてくれます 58 00:03:55,000 --> 00:03:59,000 そのタイプの名前は何ですか。 59 00:03:59,000 --> 00:04:03,000 我々はここで試すつもりです。 60 00:04:03,000 --> 00:04:07,000 具体的には、あなたは、psetスペックを振り返ってみると 61 00:04:07,000 --> 00:04:11,000 我々はここでコードのいくつかの異なったラインを持っている。 62 00:04:11,000 --> 00:04:16,000 コー​​ドの最初の行では、この変数は、$ varを、初期化する 63 00:04:16,000 --> 00:04:21,000 7に等しくなければ、それから私達はこのprintfの行を持っている 64 00:04:21,000 --> 00:04:25,000 ちょっとよると、printfのvarは空白になっています。 65 00:04:25,000 --> 00:04:29,000 printf関数はPHPで物事を印刷することができます多くの方法の1つです。 66 00:04:29,000 --> 00:04:33,000 多くの場合は、printf関数の代わりに使用するエコー機能が表示されます 67 00:04:33,000 --> 00:04:40,000 しかし、printfは、我々はすべての中にC言語でコーディングされたものに慣れている。 68 00:04:40,000 --> 00:04:42,000 あなたが実際にできることは、コピー·アンド·ペースト機能するかどうかを見てみましょうです。 69 00:04:42,000 --> 00:04:46,000 私はこれを試してみるつもりです。 70 00:04:46,000 --> 00:04:52,000 我々は、アプライアンスにフェールオーバ帰る。 71 00:04:52,000 --> 00:05:00,000 さて、私たちはそこに行く。 72 00:05:00,000 --> 00:05:05,000 との間隔は少しファンキーですが、ここに私達は行く。 73 00:05:05,000 --> 00:05:08,000 私たちはここに、このコードを持っている。 74 00:05:08,000 --> 00:05:11,000 >> [生徒]タブにそれをすることは良くないスタイルですか? 75 00:05:11,000 --> 00:05:13,000 申し訳ありませんが? 76 00:05:13,000 --> 00:05:15,000 [学生]はタブにそれをする従来のか? 77 00:05:15,000 --> 00:05:21,000 タブにそれをどうかにそれのコンベンション場合は右側なので、サムは尋ねます。 78 00:05:21,000 --> 00:05:23,000 一般的にはい。 79 00:05:23,000 --> 00:05:26,000 この場合において、私はしないことを選択しました。 80 00:05:26,000 --> 00:05:33,000 正直なところ、あなたは別のプログラマーの間で異なることがわかります。 81 00:05:33,000 --> 00:05:40,000 PHPは通常、HTMLと組み合わせてよく使用され 82 00:05:40,000 --> 00:05:45,000 と他の言語など、時には印刷は少しファンキーになります 83 00:05:45,000 --> 00:05:50,000 あなたは、PHPの開始タグおよび終了タグでインデントします。 84 00:05:50,000 --> 00:05:53,000 それは本当に異なります。 85 00:05:53,000 --> 00:05:56,000 この場合、コピー&ペーストは、私のためにタブを貼り付けられませんでした 86 00:05:56,000 --> 00:06:02,000 それは間違いなく、あなたが言ったように、それは明確にするものでもありません。 87 00:06:02,000 --> 00:06:06,000 すべての権利は​​、dynamic.phpでこのコードを保存した場合 88 00:06:06,000 --> 00:06:10,000 次に何をすることができることは、ここで私は右下のどこにいる端末ウィンドウに降りてくるの​​です 89 00:06:10,000 --> 00:06:17,000 geditで、コンパイルと同等の機能を実行する 90 00:06:17,000 --> 00:06:20,000 makeを使用して、Cでコードを実行している 91 00:06:20,000 --> 00:06:25,000 あなたがPHPファイルにしなければならないすべては、PHPインタプリタを起動している 92 00:06:25,000 --> 00:06:30,000 これは、PHPと呼ばれる小さなプログラムです。 93 00:06:30,000 --> 00:06:35,000 そしてあなたはインタプリタに与える引数は、解釈したいファイルです。 94 00:06:35,000 --> 00:06:40,000 この場合、dynamic.php。 95 00:06:40,000 --> 00:06:43,000 おっと、私はそれをどこに置いたのですか? 96 00:06:43,000 --> 00:06:52,000 ああ、私はセクション9でそれを入れて、ここで私は思います。というのはそういう意味です。 97 00:06:52,000 --> 00:06:57,000 >> 今、私は再びそれを実行する場合 98 00:06:57,000 --> 00:07:02,000 私たちは、私の最初のGetTypeメソッドの関数呼び出しでそれを参照してください。 99 00:07:02,000 --> 00:07:04,000 varは整数です。 100 00:07:04,000 --> 00:07:12,000 次の1 varに文字列であり、その後、第三1 varに真偽値である。 101 00:07:12,000 --> 00:07:15,000 我々は戻って上にスクロールするとどうこのことについて興味深いのは、我々はそれを見ている 102 00:07:15,000 --> 00:07:18,000 これらは、我々はCで持っていたものと同様のタイプです 103 00:07:18,000 --> 00:07:22,000 我々は、C言語でint型を持っていた 104 00:07:22,000 --> 00:07:26,000 私たちは、ソートのため、C言語で文字列を持っていた 105 00:07:26,000 --> 00:07:31,000 ので、文字列は、その意味では完全に合法的なタイプではありませんでした 106 00:07:31,000 --> 00:07:37,000 私たちのCS50文字列は本当に何だったのですか? 107 00:07:37,000 --> 00:07:39,000 申し訳ありませんが?ミッシー? 108 00:07:39,000 --> 00:07:41,000 [ミッシー]からchar *。 109 00:07:41,000 --> 00:07:43,000 うん、それは我々が使用される、このchar *型であった。 110 00:07:43,000 --> 00:07:47,000 学期の冒頭に私たちは、文字列型を使用していた 111 00:07:47,000 --> 00:07:52,000 それは実際にボンネットの下にはchar *であった。 112 00:07:52,000 --> 00:07:58,000 PHPでこれらの文字列は、実際の型であるのに対し、我々は、ちょうど、それを定義した型。 113 00:07:58,000 --> 00:08:07,000 このchar *型のもののこれ以上はありません。 114 00:08:07,000 --> 00:08:10,000 >> あなたは、私たちは文字列で、より多くのことを行うことができていることがわかります 115 00:08:10,000 --> 00:08:14,000 はるかに簡単にPHPで我々はC言語でできたより、 116 00:08:14,000 --> 00:08:17,000 そして最後に、我々は、このブール型を持っており、ここでの大きな違いは、 117 00:08:17,000 --> 00:08:21,000 我々は戻ってスクロールダウンする場合、我々はこれらの種類の名前があ​​ることがわかり 118 00:08:21,000 --> 00:08:28,000 現在、整数、文字列、ブールの代わりにint型とboolアール 119 00:08:28,000 --> 00:08:31,000 そしてあなたは、さまざまなプログラミング言語を拾うように、 120 00:08:31,000 --> 00:08:36,000 あなたの生活の中でいくつかの点であなたと接触することを前提 121 00:08:36,000 --> 00:08:40,000 別のものは、このように少し癖があることがわかります 122 00:08:40,000 --> 00:08:44,000 ここで、Cは整数個のint値を呼び出します。 123 00:08:44,000 --> 00:08:46,000 一部では、整数と呼ぶ。 124 00:08:46,000 --> 00:08:51,000 あなたが出くわすだろうと他の用語があります。 125 00:08:51,000 --> 00:08:55,000 ビッグint型は、SQLで今日見た。 126 00:08:55,000 --> 00:08:59,000 数と、ブール、boolは、もあります 127 00:08:59,000 --> 00:09:03,000 そこの違いのすべてのソートされます。 128 00:09:03,000 --> 00:09:07,000 >> これはものすごく興味深いものではありませんが、今私はあなたの時間の少しを与えるつもりだ 129 00:09:07,000 --> 00:09:13,000 我々はズームインしている場合、アウトするには、ページ3の下部にあるこの演習を通して動作 130 00:09:13,000 --> 00:09:20,000 それはタイプの下部には、ここにこれらの値に対応するかを尋ねる場所。 131 00:09:20,000 --> 00:09:24,000 私たちは3.50を持っている。 132 00:09:24,000 --> 00:09:28,000 我々は興味深いです、右ここにこの事を持っている。 133 00:09:28,000 --> 00:09:32,000 あなたが講義に沿って続いてきた場合でも、我々は、その前に見ていない 134 00:09:32,000 --> 00:09:35,000 あなたはおそらくすでにそれが何であるかを知っています。 135 00:09:35,000 --> 00:09:40,000 その後、我々は、これがファンキーの一種である、これを持っている。 136 00:09:40,000 --> 00:09:42,000 あなたはこれを認識しています。 137 00:09:42,000 --> 00:09:46,000 C言語でこれは何ですか? 138 00:09:46,000 --> 00:09:50,000 サム?これはC言語で何をあなたに与えるでしょうか? 139 00:09:50,000 --> 00:09:54,000 それはdynamic.phpというファイルを開き、それが読みやすくなります。 140 00:09:54,000 --> 00:09:58,000 うん、と私たちは?>>ファイルスターにこれを割り当てることを変数の型になります。 141 00:09:58,000 --> 00:10:02,000 まさに、我々はファイルのスターにこれを割り当てます。 142 00:10:02,000 --> 00:10:08,000 これも正当なPHPです。 143 00:10:08,000 --> 00:10:12,000 それを実行します。あなたがそのGetTypeメソッドに渡すときに何が起こるかを参照してください。 144 00:10:12,000 --> 00:10:19,000 そして、またそれがPHPであるかもしれないものは、nullが何であるかを確認してください。 145 00:10:19,000 --> 00:10:21,000 私はあなたに数分を差し上げます。 146 00:10:21,000 --> 00:10:24,000 あなたは文字通り、これらの値をコピーして貼り付けることができ、 147 00:10:24,000 --> 00:10:29,000 それから私達はあなたに少しランダム呼び出しをやる 148 00:10:29,000 --> 00:10:34,000 そして、あなたが得たものを参照してください。 149 00:10:34,000 --> 00:10:36,000 >> [学生]私は質問があります。うん。<< 150 00:10:36,000 --> 00:10:40,000 講義の一つでダビデは、あなたのファイルの先頭に置くことができる何かがあると述べた 151 00:10:40,000 --> 00:10:43,000 あなたは、PHPで毎回入力する必要はありませんように。 152 00:10:43,000 --> 00:10:45,000 あれは何だ? 153 00:10:45,000 --> 00:10:50,000 彼はおそらくポンドの強打、強打ハッシュについて話していました。 154 00:10:50,000 --> 00:10:57,000 それはあなたが実行ファイルとしてファイルをマークすることを指令だ 155 00:10:57,000 --> 00:11:01,000 あなたがファイルを実行するときにそれが何をするかである 156 00:11:01,000 --> 00:11:06,000 それは、シェルプログラムを教えてくれます 157 00:11:06,000 --> 00:11:12,000 ファイルの内容を解釈するためにPHPインタプリタを使用します。 158 00:11:12,000 --> 00:11:16,000 この特殊なラインだったものであること質問 159 00:11:16,000 --> 00:11:20,000 我々としては必要がないように私たちのPHPファイルの先頭に含めることができること 160 00:11:20,000 --> 00:11:26,000 我々は、ファイルを実行したいときには、このPHPの行またはこのPHPコマンド? 161 00:11:26,000 --> 00:11:31,000 そして、あなたが実際には別のファイルの束でこれを行うことができます。 162 00:11:31,000 --> 00:11:37,000 私は、それがPHPバイナリが格納されている場所に依存信じる 163 00:11:37,000 --> 00:11:43,000 しかし、しばしばusr / bin / phpを起動するには良い場所です。 164 00:11:43,000 --> 00:11:45,000 お使いのアプライアンスに戻ってダウンして行くことによって、正確にこれを把握することができます 165 00:11:45,000 --> 00:11:50,000 そしてこれは、PHPを入力する。 166 00:11:50,000 --> 00:11:55,000 あなたがバイナリを実行しているときにどのコマンドを割り出し 167 00:11:55,000 --> 00:12:01,000 または対応するファイルはコマンド。 168 00:12:01,000 --> 00:12:06,000 これは、PHPは本当にこのバイナリファイルエイリアシングであることを教えてくれ 169 00:12:06,000 --> 00:12:13,000 それは、システムバイナリの多くがインストールされる場所ですusr / binに、に格納されている。 170 00:12:13,000 --> 00:12:21,000 たとえば、私は今、私は#これを入れたところで、一番上までスクロールした場合!ここで行 171 00:12:21,000 --> 00:12:27,000 私がダウンしてスクロールすることができます、と私は実行しようとすることができます 172 00:12:27,000 --> 00:12:35,000 dynamic.phpが、私は拒否される権限については、このエラーが出る、 173 00:12:35,000 --> 00:12:42,000 そしてそれは何を意味すると、このファイルが現在実行権限を与えていないことです。 174 00:12:42,000 --> 00:12:46,000 それは、誰かが実行できるファイルとしてマークされていない。 175 00:12:46,000 --> 00:12:52,000 >> あなたは、メイクやClangの走って、そこから実行ファイルを手に入れたとき 176 00:12:52,000 --> 00:12:56,000 コンパイラは、ちょっと、私は、実行可能ファイルを構築していることを知っているのに十分スマートだ。 177 00:12:56,000 --> 00:13:00,000 あなたは、おそらくそれを実行したいので、それは自動的に構成します 178 00:13:00,000 --> 00:13:02,000 あなたのための権限。 179 00:13:02,000 --> 00:13:06,000 あなたが最初から正常なファイルを作成するとき、これは、しかし、そうではありません 180 00:13:06,000 --> 00:13:13,000 その理由は、一般的には、システム上の任意のファイルが実行可能である必要がありますしたくないさ 181 00:13:13,000 --> 00:13:15,000 ので、実際に行くと手動で行う必要があります。 182 00:13:15,000 --> 00:13:22,000 それを行うための最も簡単な方法は、chmodコマンドを使用することです 183 00:13:22,000 --> 00:13:28,000 とchmod + xは実行可能ビットを追加すると言う 184 00:13:28,000 --> 00:13:31,000 読み出しビット、書き込みビットと実行ビットが存在したため、 185 00:13:31,000 --> 00:13:35,000 のr、wとx、 186 00:13:35,000 --> 00:13:39,000 とchmod + xが実行可能ビットをオンにすると言っ 187 00:13:39,000 --> 00:13:46,000 我々はこのケースでdynamic.phpされる、指定したファイルのためのその後。 188 00:13:46,000 --> 00:13:49,000 >> [学生]は、それは皆のためになっていますか? 189 00:13:49,000 --> 00:13:52,000 これをチェックアウトするので、どのように私は権限を確認するには、チェックしてみましょう? 190 00:13:52,000 --> 00:13:54,000 あなたは、私はファイルのパーミッションを確認してくださいと思います知っていますか? 191 00:13:54,000 --> 00:13:56,000 [聞き取れない生徒の応答] 192 00:13:56,000 --> 00:13:58,000 申し訳ありませんが?>> [学生]のXSD。 193 00:13:58,000 --> 00:14:03,000 XSDは、私たちにハック内のファイルを提供します。 194 00:14:03,000 --> 00:14:09,000 すべてのファイルの一覧表示は、-l、私に私のディレクトリ内のすべてのファイルが表示されます 195 00:14:09,000 --> 00:14:13,000 彼らの長い、冗長なリストの一種で、ので、ここで我々はそれを参照してください。 196 00:14:13,000 --> 00:14:17,000 このdynamic.phpファイル 197 00:14:17,000 --> 00:14:23,000 最後の16:21で11月5日に行われました。 198 00:14:23,000 --> 00:14:26,000 このファイルの所有者がjharvardされています。 199 00:14:26,000 --> 00:14:28,000 それがログインしているユーザーです 200 00:14:28,000 --> 00:14:31,000 それは、私が働いているように、ユーザーの 201 00:14:31,000 --> 00:14:36,000 は、アプライアンスでもなら、あなたはまた、ユーザーjharvardとして取り組んでいます。 202 00:14:36,000 --> 00:14:38,000 あなたは、学生グループにいる 203 00:14:38,000 --> 00:14:44,000 そしてこれらはあなたが十分な頻度で表示されますものです。 204 00:14:44,000 --> 00:14:47,000 >> 我々は、ここでの詳細の多くに行くことができます 205 00:14:47,000 --> 00:14:50,000 ほとんどの部分は、あなたが見て探しているときに見てみたいものを 206 00:14:50,000 --> 00:14:55,000 ファイルには、主に実行可能であるか否か 207 00:14:55,000 --> 00:14:58,000 ファイルを所有するユーザー、所有者、 208 00:14:58,000 --> 00:15:03,000 このjharvardので、それから私達は持っている 209 00:15:03,000 --> 00:15:07,000 左にこっち権限ビット、 210 00:15:07,000 --> 00:15:13,000 これを読むための方法は、その最後のビットです 211 00:15:13,000 --> 00:15:18,000 一般的にかどうか、少なくともこのケースでは、マーキングに使用されている 212 00:15:18,000 --> 00:15:21,000 この最後のビットがしばしば示すために、広告に設定されます 213 00:15:21,000 --> 00:15:24,000 ファイルがディレクトリだけでなく、通常のファイルであること。 214 00:15:24,000 --> 00:15:28,000 右ここに続いて、次の3ビット 215 00:15:28,000 --> 00:15:34,000 、ファイルの所有者が持っている権限を決定 216 00:15:34,000 --> 00:15:38,000 ので、この場合jharvardは、ファイルの所有者として、このファイルを読み書きできる 217 00:15:38,000 --> 00:15:42,000 しかしjharvardこのファイルを実行することはできませんと言ってダッシュはそこだ。 218 00:15:42,000 --> 00:15:46,000 、次の3ビットは、グループのためのものですので、これは学生のグループです 219 00:15:46,000 --> 00:15:49,000 私のアプライアンス上で複数のユーザーが、あったので、もし 220 00:15:49,000 --> 00:15:52,000 そして我々は、学生グループの一部として複数のユーザーを持っていた 221 00:15:52,000 --> 00:15:55,000 その後、それらはすべて、このファイルを読むことができますが、彼らはそれを書くことはできません 222 00:15:55,000 --> 00:15:59,000 と同様に、誰に、世界 223 00:15:59,000 --> 00:16:01,000 同様に、このファイルを読むことができますのみ。 224 00:16:01,000 --> 00:16:03,000 このことについて良い、長い記事は、あります 225 00:16:03,000 --> 00:16:05,000 そのため、オンラインで読むことができます。 226 00:16:05,000 --> 00:16:10,000 問題セットの仕様では、さらに詳細にこれに入る。 227 00:16:10,000 --> 00:16:12,000 >> [学生] 218は世界に言及されていますか? 228 00:16:12,000 --> 00:16:17,000 218はオフで私の頭の上私が忘れている、 229 00:16:17,000 --> 00:16:20,000 しかしない。 230 00:16:20,000 --> 00:16:29,000 見てみましょう。私は今、その右側にブランキングしています。 231 00:16:29,000 --> 00:16:32,000 戻る我々はこのchmod + xををどうする程度であったもの 232 00:16:32,000 --> 00:16:37,000 我々はdynamic.php実行権限を与えたいと思ったところ、 233 00:16:37,000 --> 00:16:40,000 との質問は、これは皆に実行権限を与えるかどうかではありませんでした 234 00:16:40,000 --> 00:16:44,000 またはちょうどjharvardため、私たちはすることによって、これを見ることができます 235 00:16:44,000 --> 00:16:48,000 コマンドを実行するとls-lと入力し、 236 00:16:48,000 --> 00:16:51,000 そして今我々は、それが実行可能とマークされたていることがわかり。 237 00:16:51,000 --> 00:16:54,000 あなたは、色の変化があったことがわかります。 238 00:16:54,000 --> 00:16:57,000 今すぐdynamic.phpは緑で表示されている 239 00:16:57,000 --> 00:17:01,000 そしてそれが何で、シャーロット、質問への答えのように見えます? 240 00:17:01,000 --> 00:17:04,000 [シャルロット]のみjharvard。>>のみjharvard、うん。 241 00:17:04,000 --> 00:17:08,000 >> 我々は皆のために実行可能フラグをオンにしたい場合 242 00:17:08,000 --> 00:17:10,000 どのように我々はそれを行うのでしょうか? 243 00:17:10,000 --> 00:17:13,000 任意の考えですか?>> A + X? 244 00:17:13,000 --> 00:17:15,000 ええ、その通りです。 245 00:17:15,000 --> 00:17:23,000 シャーロットは、我々はdynamic.phpの+ xのchmodを行うことができると述べた 246 00:17:23,000 --> 00:17:26,000 そして今我々は、ls-lを実行した場合、我々は実行ビットがわかり 247 00:17:26,000 --> 00:17:30,000 確かに皆のための電源がオンになっている。 248 00:17:30,000 --> 00:17:37,000 そして、あなたが実際にこれの逆を行うことができますので、あなたは誰のためにそれをオフにすることができます 249 00:17:37,000 --> 00:17:41,000 マイナスを使用。 250 00:17:41,000 --> 00:17:46,000 今ではオフになって、そして今我々はjharvardために元に戻すことができる 251 00:17:46,000 --> 00:17:52,000 私たちは実際に今それを実行できるように、 252 00:17:52,000 --> 00:17:58,000 我々は#この特別なコードを実行したときに、今、あなたはを参照してください!上部のライン、 253 00:17:58,000 --> 00:18:04,000 #!ライン、シェルを告げ、 254 00:18:04,000 --> 00:18:08,000 このファイルが実行されたときに、ちょっと我々の端末を告げ、 255 00:18:08,000 --> 00:18:14,000 このファイルを解釈するために、/ usr / bin / phpを使う 256 00:18:14,000 --> 00:18:20,000 その後、出力を印刷します。 257 00:18:20,000 --> 00:18:22,000 [聞こえない学生の質問] 258 00:18:22,000 --> 00:18:25,000 確かに、私は戻って上にスクロールしてみましょう。ただ、このように。 259 00:18:25,000 --> 00:18:36,000 あなたは、これらのディレクティブのすべてが感嘆符は、このポンドで始まり、わかります 260 00:18:36,000 --> 00:18:39,000 時にはシバン、ハッシュビッグバンと呼ばれる。 261 00:18:39,000 --> 00:18:48,000 >> [学生]我々はそれを実行可能にする前に、どのように我々は、phpのdynamic.phpでそれを実行することができますか? 262 00:18:48,000 --> 00:18:55,000 質問は、どのように我々はこれを実行することができますPHPバイナリを使用していた 263 00:18:55,000 --> 00:18:58,000 dynamic.phpは実行可能ではありませんしながら? 264 00:18:58,000 --> 00:19:01,000 これは正確にどのようなので、これは超重要です 265 00:19:01,000 --> 00:19:06,000 あなたは問題セット7を書くときにそれが動作するように起こっている。 266 00:19:06,000 --> 00:19:09,000 時間のPHPファイルのほとんどは、直接実行可能ではありません。 267 00:19:09,000 --> 00:19:14,000 それは実行可能ファイルのPHPバイナリだから働く方法です。 268 00:19:14,000 --> 00:19:16,000 インタープリタは、実行されているものです 269 00:19:16,000 --> 00:19:20,000 ので、それが何をやっている、文字通り全体の内容にズルズルさ 270 00:19:20,000 --> 00:19:25,000 当社dynamic.phpファイルと行で行くの行の 271 00:19:25,000 --> 00:19:29,000 それらのコマンドを実行するので、それは私たちのPHPファイルを使用している 272 00:19:29,000 --> 00:19:31,000 命令のリストとして。 273 00:19:31,000 --> 00:19:36,000 それは直接それを実行するわけではありません。 274 00:19:36,000 --> 00:19:40,000 我々は、これらのファイルは、実行時に解釈していると言うところです。 275 00:19:40,000 --> 00:19:46,000 これは、実行時の言語の代わりにコンパイル時に決定されている何か 276 00:19:46,000 --> 00:19:49,000 Cのようなコンパイル言語ではない 277 00:19:49,000 --> 00:19:54,000 >> それはコンパイル時の言語だかのように行動するために、実行時の言語を取得する方法は、ありますか 278 00:19:54,000 --> 00:19:58,000 あなたは、すべてのサーバーで行わ稼働している場合など 279 00:19:58,000 --> 00:20:00,000 のではなく、あなたは私が何を意味するか知っていますか? 280 00:20:00,000 --> 00:20:04,000 はい、そう質問です 281 00:20:04,000 --> 00:20:11,000 より多くの言語のコンパイル時の型と同様に機能するように、実行時の言語を取得する方法はありますか? 282 00:20:11,000 --> 00:20:18,000 そして、これらの企業の多くの研究の活発な分野であること、私が言いたいのは、そこにあります。 283 00:20:18,000 --> 00:20:22,000 私は、FacebookはPHPを使用して多くの作業を行っていると思われる 284 00:20:22,000 --> 00:20:25,000 そして、それを下にコンパイルが速くなり、それを最適化する 285 00:20:25,000 --> 00:20:29,000 自分のサイトはPHPで構築されているので。 286 00:20:29,000 --> 00:20:34,000 あなたはまったくNode.jsのに続いてきた場合、 287 00:20:34,000 --> 00:20:40,000 これは、JavaScriptインタプリタの一種である 288 00:20:40,000 --> 00:20:44,000 Webブラウザの外で、ブラウザの外でJavaScriptを実行できるようにするには、 289 00:20:44,000 --> 00:20:47,000 伝統的にJavaScriptはちょうど、FirefoxやChromeの内部で実行されるため 290 00:20:47,000 --> 00:20:52,000 そしてそれはクールなアニメーションは、Webページ上で実現するために使用されるであろう 291 00:20:52,000 --> 00:20:55,000 あなたのウェブページを動的にする。 292 00:20:55,000 --> 00:20:59,000 それはGoogleがやっていることを多くの仕事に基づいて構築されている 293 00:20:59,000 --> 00:21:03,000 JavaScriptとC + +のようにし 294 00:21:03,000 --> 00:21:09,000 一緒に結合するため、積極的な研究の多くにはあり 295 00:21:09,000 --> 00:21:13,000 これらの言語は、それらを相互作用し、最適化するために取得 296 00:21:13,000 --> 00:21:17,000 主に非常に多くの人々はPHPとJavaScriptでコーディングすることができますので、 297 00:21:17,000 --> 00:21:19,000 それははるかに簡単だからです。 298 00:21:19,000 --> 00:21:21,000 それは多くのよりよいです。あなたは、ポインタを持っていません。 299 00:21:21,000 --> 00:21:27,000 あなたの周りの浮動小数点型を持っていない。 300 00:21:27,000 --> 00:21:31,000 彼らは、これらのコンパイル時の言語の利点を得るしたかった 301 00:21:31,000 --> 00:21:36,000 すべての型チェックと高速·低メモリ使用量とそれのすべてを持つ 302 00:21:36,000 --> 00:21:42,000 まだ柔軟性とこれらの新しいものの使いやすさを維持しています。 303 00:21:42,000 --> 00:21:46,000 >> バックアタックの我々の当初の計画に。 304 00:21:46,000 --> 00:21:50,000 私達は私達の問題セットの仕様でここにこれらの質問のいくつかを持っている。 305 00:21:50,000 --> 00:21:54,000 のが本当にすばやく通過し、我々は部屋の周りに行くよう。 306 00:21:54,000 --> 00:21:59,000 シャーロット、3.50はどのようなタイプですか? 307 00:21:59,000 --> 00:22:01,000 [シャルロット]それは二重です。>>それは二重です。 308 00:22:01,000 --> 00:22:03,000 ジミー、この次の1は何ですか?配列を。>> 309 00:22:03,000 --> 00:22:09,000 配列、素晴らしい、とJared、fopenは何ですか? 310 00:22:09,000 --> 00:22:11,000 [ジャレド]それはリソースです。>>それはリソースです。 311 00:22:11,000 --> 00:22:15,000 それは新しいものではなく、ファイルのスターではなく、ファイルのようなものだ。 312 00:22:15,000 --> 00:22:19,000 これは、PHPの型であるリソースです 313 00:22:19,000 --> 00:22:24,000 と私は申し訳ありませんが、エラは、最後のヌルは何ですか? 314 00:22:24,000 --> 00:22:26,000 ヌル。 315 00:22:26,000 --> 00:22:28,000 nullの場合、それはどのようにPHPで綴られている?>>同じように。 316 00:22:28,000 --> 00:22:30,000 同じように、首都?>>うん。 317 00:22:30,000 --> 00:22:33,000 うん、大丈夫。 318 00:22:33,000 --> 00:22:35,000 ここで行く、我々は二重を持って、我々は、配列を持っている 319 00:22:35,000 --> 00:22:41,000 我々は、リソースを持っているし、我々は、nullを持っている。 320 00:22:41,000 --> 00:22:48,000 今あなたが見ている、見てみましょう 321 00:22:48,000 --> 00:22:51,000 見てみましょうので、今、私はまた何をしたいのか推測はプルアップされ 322 00:22:51,000 --> 00:22:56,000 右ここにこのWebページは、このphp.net /マニュアル、 323 00:22:56,000 --> 00:23:01,000 君たちはそれをコピーしてWebブラウザを開きますので、もし 324 00:23:01,000 --> 00:23:07,000 私はChromeをプルアップするつもりですが、そのインチ置く 325 00:23:07,000 --> 00:23:10,000 私はこれだけではないので、お見せしたい 326 00:23:10,000 --> 00:23:13,000 我々は、型とすべてのその楽しいものについて一日中話すことができる 327 00:23:13,000 --> 00:23:19,000 むしろ、これはPHPのマニュアルであるため、 328 00:23:19,000 --> 00:23:23,000 とPHPプログラマーの多くはそこにあります。 329 00:23:23,000 --> 00:23:26,000 そこにPHPのWebサイトの多くはありますが、 330 00:23:26,000 --> 00:23:31,000 その結果としては、PHPに関する資料の多くは、そこにある 331 00:23:31,000 --> 00:23:36,000 と手動、このphp.netは、行くには本当に良い場所です 332 00:23:36,000 --> 00:23:43,000 あなたは、PHPでXを行うための最善の方法だかについての質問があっていたときに 333 00:23:43,000 --> 00:23:45,000 またはどのような機能は次のようになりますか? 334 00:23:45,000 --> 00:23:49,000 これが原因のように見えるものに慣れ親しむことだけの種類 335 00:23:49,000 --> 00:23:54,000 あなたが頻繁にここに来ることでしょう、問題のビット7を設定します。 336 00:23:54,000 --> 00:23:57,000 >> あなたは、PHPを使用して、最終的なプロジェクトをやってしまう場合 337 00:23:57,000 --> 00:24:04,000 これはあなたが非常によく知り合いになるだろう場所になります。 338 00:24:04,000 --> 00:24:09,000 しばしば人々はこれを行う方法は、彼らがサイトを検索するためにGoogleを使用している、 339 00:24:09,000 --> 00:24:16,000 そして、彼らは小さなの一種である右上にここまでの検索ボックスを使用しないでください。 340 00:24:16,000 --> 00:24:19,000 あなたは、PHPとは何かの周りをグーグルしていては、表示された場合 341 00:24:19,000 --> 00:24:24,000 マニュアルのリンクのいずれかを使用すると、通常、その頼ることができるポップアップ 342 00:24:24,000 --> 00:24:31,000 かなり良いリソースとして。 343 00:24:31,000 --> 00:24:34,000 素晴らしいので、外にこれらのタイプの、ただ好奇心から、 344 00:24:34,000 --> 00:24:37,000 どれが私たちが見ていない? 345 00:24:37,000 --> 00:24:40,000 我々がここで見たことがない何? 346 00:24:40,000 --> 00:24:44,000 [学生]リソース。>>我々は、fopenの呼び出しでリソースを見ました。 347 00:24:44,000 --> 00:24:48,000 [学生]オブジェクト。>>オブジェクト我々は確かに見ていない。 348 00:24:48,000 --> 00:24:51,000 コー​​ルバックは、我々は見ていない。 349 00:24:51,000 --> 00:24:54,000 これらの擬似タイプのいくつかがあります。 350 00:24:54,000 --> 00:24:57,000 我々は間違いなく唯一の整数およびdouble見た。 351 00:24:57,000 --> 00:25:01,000 我々は、他のいくつかを見ていないので、我々は、整数をクリックした場合 352 00:25:01,000 --> 00:25:08,000 我々は、彼らがここに持っていることを他の任意の整数であることがわかります? 353 00:25:08,000 --> 00:25:11,000 彼らは、整数、整数、整数すべてそうです。 354 00:25:11,000 --> 00:25:14,000 一部の言語では、大きな整数型を持つ 355 00:25:14,000 --> 00:25:23,000 今日我々がMySQL上で見たようなintやその後の大きなint型がありました。 356 00:25:23,000 --> 00:25:25,000 クール。 357 00:25:25,000 --> 00:25:28,000 >> だから、PHPマニュアル。 358 00:25:28,000 --> 00:25:37,000 のは私たちの問題セットの仕様に戻って、我々は今、4ページをスクロールダウンしますみましょう。 359 00:25:37,000 --> 00:25:41,000 これらの言語を取得するときに起こることの一つ 360 00:25:41,000 --> 00:25:49,000 この静的型付けを持っていないので、宣言する必要があり、これらの言語 361 00:25:49,000 --> 00:25:52,000 変数アップフロントのタイプ 362 00:25:52,000 --> 00:26:00,000 あなたが異なる型の変数を持ち始める可能性がある場合には、例を入手され 363 00:26:00,000 --> 00:26:04,000 互いに相互作用、 364 00:26:04,000 --> 00:26:09,000 とPHPはそれが何をしようと、このことを行います 365 00:26:09,000 --> 00:26:13,000 それを行うための最も賢明なことであると考えるもの 366 00:26:13,000 --> 00:26:18,000 あなたが持っているときに2つの異なるタイプが互いに相互作用する。 367 00:26:18,000 --> 00:26:24,000 例えば、私たちはここに、次のコード行を見れば 368 00:26:24,000 --> 00:26:29,000 あなたは私たちが何が起こるか持っていることがわかり 369 00:26:29,000 --> 00:26:38,000 我々は試してみて、整数2に文字列を追加するには1。 370 00:26:38,000 --> 00:26:41,000 我々は数値ではない文字列を試してみて、追加した場合はどうなりますか 371 00:26:41,000 --> 00:26:48,000 むしろ実際の文字は、CS番号50〜? 372 00:26:48,000 --> 00:26:51,000 その後、我々はわかり起こる異なることはありますか 373 00:26:51,000 --> 00:26:56,000 代わりに我々は数値を文字列に追加している文字列を数値に加える、 374 00:26:56,000 --> 00:27:00,000 となどなど我々が取得している点に 375 00:27:00,000 --> 00:27:05,000 我々は7 +真持って右ここに奇妙なもののいくつかの種類。 376 00:27:05,000 --> 00:27:09,000 それは一体何を意味するのでしょうか? 377 00:27:09,000 --> 00:27:19,000 >> 君たちは先に行くとあなたのアプライアンスにこのコードの一部を貼り付けた場合。 378 00:27:19,000 --> 00:27:27,000 あなたはそれdynamic.phpで保つことができます。 379 00:27:27,000 --> 00:27:30,000 我々は何が起こるかわかります。 380 00:27:41,000 --> 00:27:43,000 [学生]ジャストプリントではなく、printf関数を使うのか? 381 00:27:43,000 --> 00:27:52,000 ええ、そう、そのプリントを見つけることができますまた、PHPで印刷するための有効な機能です。 382 00:27:52,000 --> 00:27:54,000 それを行うのは、多くの異なる方法があります。 383 00:27:54,000 --> 00:27:58,000 我々は、後で私たちが話し始めると、上のいくつかの例で表示されます 384 00:27:58,000 --> 00:28:02,000 我々は書き込むしようとしているユニークな問題について 385 00:28:02,000 --> 00:28:06,000 我々は書こうとしていること、その後の濃度の問題 386 00:28:06,000 --> 00:28:09,000 私たちは、fopenとfcloseを持っているにもかかわらず 387 00:28:09,000 --> 00:28:15,000 それは、多くの場合、ファイルの内容を読み取るための最も簡単な方法はありません。 388 00:28:15,000 --> 00:28:21,000 PHPはこれらのCライクholdoversをたくさん持っている。 389 00:28:21,000 --> 00:28:28,000 [学生]私は私が唯一の出力として1番号を取得するものの全6に置く。 390 00:28:28,000 --> 00:28:36,000 [ネイトH.]あなたはこれらの事のすべて6に置く。 391 00:28:36,000 --> 00:28:39,000 それはだから、それで見てみましょう可能性の 392 00:28:39,000 --> 00:28:46,000 一つのことは、これらの印刷コールは新しい行で終わりで終端されていないことです。 393 00:28:46,000 --> 00:28:49,000 これらのプリントコールのそれぞれを分離する新たなラインは、ありません 394 00:28:49,000 --> 00:28:51,000 ので、多分あなたは、1大量に取得している 395 00:28:51,000 --> 00:28:58,000 そしてそれは実際に改行文字だけのアマルガムです。 396 00:28:58,000 --> 00:29:00,000 [学生]はさて、私はどのように作るかを確認し、 397 00:29:00,000 --> 00:29:03,000 さて、さまざまな方法の束があります。 398 00:29:03,000 --> 00:29:06,000 手動で、改行文字のプリントに入れることができます 399 00:29:06,000 --> 00:29:09,000 改行文字のエコー、 400 00:29:09,000 --> 00:29:12,000 新しいラインのプリント。 401 00:29:12,000 --> 00:29:16,000 [学生]だからエコーはprintfと同じものですか? 402 00:29:16,000 --> 00:29:21,000 >> printfはC言語のprintfのようなものです 403 00:29:21,000 --> 00:29:24,000 どこでフォーマットされた文字列を印刷している。 404 00:29:24,000 --> 00:29:32,000 あなたはそれをフォーマット文字列と、すべてのプレースホルダ変数を供給している。 405 00:29:32,000 --> 00:29:39,000 それは頻繁に使用されていません - 何か 406 00:29:39,000 --> 00:29:42,000 、免責事項として、見てみましょう 407 00:29:42,000 --> 00:29:48,000 私は他のWeb言語と私よりも私は、PHPにあまり精通しています、 408 00:29:48,000 --> 00:29:53,000 と私はPHPでプログラミングしていたとき、私は一般的にprintfを使用しないでください 409 00:29:53,000 --> 00:29:59,000 私はそれは速く、それが持っている文字列の補間機能を使用するために見つけるため、 410 00:29:59,000 --> 00:30:04,000 我々は入るだろうと私は、ちょうど2番目にあなたが表示されますどの 411 00:30:04,000 --> 00:30:08,000 C言語でのに対し、我々は同じ種類ではそれが正しく出力するために得るために、このハックのことを行う必要があります。 412 00:30:08,000 --> 00:30:16,000 あなたが実際にPHPで文字列に直接変数を置くことができます。 413 00:30:16,000 --> 00:30:22,000 printfは、私は通常、何のために過度に長いの一種である。はい、エラ。 414 00:30:22,000 --> 00:30:25,000 [エラ]は一般的にはパースエラーを得れば、それは意味ない - 415 00:30:25,000 --> 00:30:30,000 間違いがあると、それが何であるかを正確にここで、C上のようにそれは、あなたを教えてくれない 416 00:30:30,000 --> 00:30:34,000 あなたの全体のコードに目を通すわけで、それを把握するようにしていますか? 417 00:30:34,000 --> 00:30:39,000 これは、通常に比べて、よりター​​ゲットを絞ったのです。 418 00:30:39,000 --> 00:30:48,000 私は、その場合には、それは少しオフだったと思う 419 00:30:48,000 --> 00:30:51,000 ので、私はそのような場合に我々はセミコロンを欠いていたと思います。 420 00:30:51,000 --> 00:30:54,000 それは、すべての意味を理解しようとしていた 421 00:30:54,000 --> 00:30:57,000 ので、これらのインタプリタ言語のように、インタプリタは試してみるつもりさ 422 00:30:57,000 --> 00:31:01,000 かつ適切にすべての作業を作るために最善を尽くす。 423 00:31:01,000 --> 00:31:04,000 >> アドレスを確認するにはJavaScriptにおいては、例えば、表示されます 424 00:31:04,000 --> 00:31:10,000 でお知らせします頻繁に行の文はPHPの場合と同様に、セミコロンで終わり、 425 00:31:10,000 --> 00:31:13,000 彼らはCのそれと同じように、 426 00:31:13,000 --> 00:31:15,000 JavaScriptでJavaScriptインタプリタの一部 427 00:31:15,000 --> 00:31:20,000 多くのブラウザにあなたのためにセミコロンを入れます 428 00:31:20,000 --> 00:31:23,000 あなたはそれらが欠けているために起こる場合。 429 00:31:23,000 --> 00:31:29,000 彼らは試してみて、あなたの一部にいくつかのだらしなさに適応します。 430 00:31:29,000 --> 00:31:34,000 すなわち、それはしようとしようと物事を動作させるためにしようとするかもしれないところです 431 00:31:34,000 --> 00:31:36,000 そして最後に、それは、それは大丈夫と言う点が表示されることでしょう。 432 00:31:36,000 --> 00:31:38,000 私は物事が救済に動作させることはできませんし、行番号を買ってあげるところです 433 00:31:38,000 --> 00:31:44,000 その正確な場所から少しオフに思われるかもしれません。 434 00:31:44,000 --> 00:31:47,000 さて、それでは、本当にすぐにこれを介して行くことができます。 435 00:31:47,000 --> 00:31:50,000 我々は、エラでオフに左、それでは、ミッシーに渡って行こう 436 00:31:50,000 --> 00:31:54,000 ミッシーとは、文字列1の印刷を加えた数は、2あなたに何を与えるのですか? 437 00:31:54,000 --> 00:31:56,000 [ミッシー] 3。>> 3。 438 00:31:56,000 --> 00:31:59,000 お分かりでしょうか?の並べ替え? 439 00:31:59,000 --> 00:32:02,000 それはあなたの番号を与えるか?それはあなたの文字列を与えるのですか? 440 00:32:02,000 --> 00:32:05,000 [ミッシー]数。>>それは数だ。 441 00:32:05,000 --> 00:32:09,000 しかし、それを印刷しているので、それはあなたの文字列のいくつかの並べ替えを与えるために起こっている。 442 00:32:09,000 --> 00:32:12,000 >> 我々はこれをチェックするために行うことができることの一つ 443 00:32:12,000 --> 00:32:21,000 である我々はありません場合は、$ VAR = 1 + 2 444 00:32:21,000 --> 00:32:28,000 それから私達は、GetTypeメソッドのエコーを言う 445 00:32:28,000 --> 00:32:33,000 ので、ここでは印刷の第3種を使用しています。 446 00:32:33,000 --> 00:32:39,000 今、私たちはここで何が起こるかを見ることができます。 447 00:32:39,000 --> 00:32:42,000 ここで私たちが持っている、我々はこれの整数を降りています。 448 00:32:42,000 --> 00:32:45,000 我々は、数に文字列を追加したにもかかわらず、 449 00:32:45,000 --> 00:32:48,000 我々は、ミッシーが言ったように、それから文字列を取得できませんでした。 450 00:32:48,000 --> 00:32:52,000 我々は、整数を得ていた。 451 00:32:52,000 --> 00:32:57,000 わかりましたので、次のアップ、ケビン、見てみましょう。 452 00:32:57,000 --> 00:32:59,000 CS + 50?>> [ケビン] 50。 453 00:32:59,000 --> 00:33:02,000 [ネイトH.] 50。お分かりでしょうか? 454 00:33:02,000 --> 00:33:04,000 [ケビン]うん。 455 00:33:04,000 --> 00:33:06,000 [ネイトH.]なぜ?なぜそれがあなたに意味をなさないのでしょうか? 456 00:33:06,000 --> 00:33:11,000 [ケビン]それだけで数値のゼロを有する文字列を持っているので。 457 00:33:11,000 --> 00:33:16,000 うん、素晴らしい。 458 00:33:16,000 --> 00:33:20,000 あいまいな状況のようなもの、それは何が起こるかを知って良いことだ。 459 00:33:20,000 --> 00:33:25,000 1番+文字列2で次に何が起こるかステラ、? 460 00:33:25,000 --> 00:33:27,000 [ステラ] 3。もう一度>> 3。 461 00:33:27,000 --> 00:33:30,000 そして、この場合には、我々は文字列または数値を取得するのですか? 462 00:33:30,000 --> 00:33:36,000 >> これを試してみましょう。 463 00:33:36,000 --> 00:33:43,000 私は答えを得るよりも速く誰?シャーロット? 464 00:33:43,000 --> 00:33:46,000 ああ、私はdidn't-大丈夫、見てみましょう、我々は同じようなことをやろうとしている 465 00:33:46,000 --> 00:33:49,000 ここで、我々は数と文字列を持っている、と我々は、型をエコーするつもりだ 466 00:33:49,000 --> 00:33:51,000 我々は何を得るを参照してください。 467 00:33:51,000 --> 00:33:55,000 また、整数を取得します。 468 00:33:55,000 --> 00:33:58,000 それは1つ1つが数字である文字列、ある問題ではありません。 469 00:33:58,000 --> 00:34:00,000 我々はまだ、整数を取得するつもりだ。 470 00:34:00,000 --> 00:34:04,000 それはまだ我々が期待するかもしれない何になるだろう。 471 00:34:04,000 --> 00:34:09,000 すべての権利なので、サム、壁にはビールの何約90 +9ボトル? 472 00:34:09,000 --> 00:34:12,000 [サム] 99。>> 99。 473 00:34:12,000 --> 00:34:15,000 壁にはビールの瓶ませんけど。 474 00:34:15,000 --> 00:34:17,000 それは私達に何が起こっているのかについて、もう少し情報を提供します。 475 00:34:17,000 --> 00:34:21,000 [サム]は文字で9を書いていた場合 476 00:34:21,000 --> 00:34:23,000 その後、あなたは右、90を持っているでしょうか? 477 00:34:23,000 --> 00:34:26,000 [ネイトH.]うん。 478 00:34:26,000 --> 00:34:30,000 我々は、N-I-N-Eと9書き出さたい場合質問があった 479 00:34:30,000 --> 00:34:34,000 我々は、99または90を頂いておりますでしょうか? 480 00:34:34,000 --> 00:34:38,000 我々は90を得ると思います。 481 00:34:38,000 --> 00:34:42,000 それは文字通り桁の文字を探しています。 482 00:34:42,000 --> 00:34:46,000 これは、数字の単語やその原料を認識できるほど賢くはありません。はい。 483 00:34:46,000 --> 00:34:48,000 >> [学生]はPHPの型キャストのようなものですか? 484 00:34:48,000 --> 00:34:54,000 あり、それは正確にあなたがC言語でそれを行うだろう方法だ 485 00:34:54,000 --> 00:34:56,000 10月7日はどうでしょう、シャーロット? 486 00:34:56,000 --> 00:34:58,000 [シャルロット] 1.4285。 487 00:34:58,000 --> 00:35:01,000 [ネイトH.]うん、これについての驚くべきかもしれないので、何? 488 00:35:01,000 --> 00:35:04,000 Cでのことを、この同じソートをやったらどうなるだろう、 489 00:35:04,000 --> 00:35:06,000 あなたは、Cで10月7日をやった場合はどうなりますか? 490 00:35:06,000 --> 00:35:08,000 [シャルロット]それだけでは、私が推測する型変換方法に応じて、あなた - を与えるだろう 491 00:35:08,000 --> 00:35:12,000 それはあなたの小数点以下の桁数が限らを与えるだろう。 492 00:35:12,000 --> 00:35:16,000 うん、小数点以下の桁数が限られそう。 493 00:35:16,000 --> 00:35:21,000 他に何があるでしょう - それは、小数点の後に使用すると、任意の数字を与えるかもしれない? 494 00:35:21,000 --> 00:35:28,000 頻繁にしないので、もう一度、あなたがそれを型キャストしている方法に応じて、 495 00:35:28,000 --> 00:35:31,000 それは、または浮動小数点数に変換してもしなくてもよい。 496 00:35:31,000 --> 00:35:35,000 ここではそれがなかったことは素晴らしいことのようなものだった。 497 00:35:35,000 --> 00:35:40,000 我々は、C内のもの、この種の仕事を始めたとき、我々はあなたにこのバックを見せていた 498 00:35:40,000 --> 00:35:44,000 それはおそらく、もう少し意味を成していただろう 499 00:35:44,000 --> 00:35:48,000 それはちょうど1になりませんので。 500 00:35:48,000 --> 00:35:51,000 そして最後に、ジェイミー、何+約7本当ですか? 501 00:35:51,000 --> 00:35:53,000 [ジェイミー] 8。>> 8。 502 00:35:53,000 --> 00:35:56,000 どういう意味ですか? 503 00:35:56,000 --> 00:35:58,000 私はそれだけで1の値を真与えると思います。 504 00:35:58,000 --> 00:36:01,000 うん。我々はfalseにそれを変更するとどうなりますか? 505 00:36:01,000 --> 00:36:04,000 [学生] 7。 506 00:36:04,000 --> 00:36:09,000 ええ、そう、我々はこれらのバイナリ値の話をどこで覚えている 507 00:36:09,000 --> 00:36:12,000 上にある1、0はオフであること? 508 00:36:12,000 --> 00:36:17,000 今、私たちは真が1であり、0は偽である 509 00:36:17,000 --> 00:36:21,000 そしてあなたは、我々は、この過去の学期をやったことC言語の例でこれを見ていない可能性があります 510 00:36:21,000 --> 00:36:27,000 しかし歴史的にC言語のbool型は、実数型ではなかった 511 00:36:27,000 --> 00:36:32,000 ので、人々は、trueおよびfalseの代わりに0と1を使用している。 512 00:36:32,000 --> 00:36:35,000 これは、その現れである。 513 00:36:35,000 --> 00:36:39,000 >> さて、このすべてについて一つの重要な部分 514 00:36:39,000 --> 00:36:41,000 我々はこれらの異なるタイプを持っているということです。 515 00:36:41,000 --> 00:36:43,000 彼らはお互いに対話することができます。 516 00:36:43,000 --> 00:36:49,000 彼らはしばしば、我々はここで見てきたように、素敵な方法で相互にやり取りすることができます。 517 00:36:49,000 --> 00:36:53,000 それは、文字列1とナンバー2を持って、それらを一緒に追加して、3を得ることができてうれしいです。 518 00:36:53,000 --> 00:36:55,000 それは理にかなっています。 519 00:36:55,000 --> 00:36:59,000 ただし、ウェブサイトを書いているときに、特にするときに処理してい 520 00:36:59,000 --> 00:37:04,000 ので、あなたがWebフォームを書いたユーザー入力を言う 521 00:37:04,000 --> 00:37:09,000 ユーザーから情報を収集し、それを処理するために行くこと 522 00:37:09,000 --> 00:37:13,000 バックエンドでは、PHPコード内で、サーバ側で 523 00:37:13,000 --> 00:37:18,000 あなたは、ユーザが入力したと提出し、その値を期待している場合 524 00:37:18,000 --> 00:37:23,000 フォームに整数になるように、浮動小数点数またはそのような何かであること 525 00:37:23,000 --> 00:37:29,000 それを明示的にキャストする必要があります 526 00:37:29,000 --> 00:37:34,000 その後いくつかの型チェックを行う。 527 00:37:34,000 --> 00:37:41,000 >> あなたは、物事がうまくいくようにするには、この型の相互変換システムに依存したくない 528 00:37:41,000 --> 00:37:48,000 特にセキュリティ上の理由から、ちょうどあなたのウェブサイトのための堅牢性。 529 00:37:48,000 --> 00:37:51,000 フォームデータを処理しているときはいつでも心に留めておくだけで何か、 530 00:37:51,000 --> 00:37:57,000 POSTまたはGETスーパーグローバルで来る何 531 00:37:57,000 --> 00:38:01,000 あなたは常にそれを検証し、それを変換し、それを型キャストしていることを確認してください。 532 00:38:01,000 --> 00:38:04,000 そして、我々はその前に型キャスト瞬間について話していただけのように 533 00:38:04,000 --> 00:38:08,000 括弧を持っているところPHPで正確にC言語の場合と同じです 534 00:38:08,000 --> 00:38:14,000 と入力します。 535 00:38:14,000 --> 00:38:16,000 ということを忘れないでください。 536 00:38:16,000 --> 00:38:19,000 あなたがこれをやっているときに便利になるだろう一つの機能 537 00:38:19,000 --> 00:38:22,000 我々は、使用したとしてきたこのような種類のものですさておき、 538 00:38:22,000 --> 00:38:27,000 我々はここに、このGetType関数を使用してきた 539 00:38:27,000 --> 00:38:30,000 変数の型を把握するために、 540 00:38:30,000 --> 00:38:37,000 これは、デバッグ用に便利で、変数の型が何であるかを確認しながら 541 00:38:37,000 --> 00:38:42,000 あなたは、条件どこで、例えば、これを使用したくない 542 00:38:42,000 --> 00:38:57,000 あなたは$ VAR =整数のGetTypeが何かをどうかを確認しています。 543 00:38:57,000 --> 00:39:01,000 これは、悪い悪い、悪いです。 544 00:39:01,000 --> 00:39:09,000 代わりにそこに呼ばれるこれらの関数は整数であり、文字列である 545 00:39:09,000 --> 00:39:14,000 あなたが代わりに使用する配列は、このケースではそうです 546 00:39:14,000 --> 00:39:18,000 私はここにこの男の代わりにしたいと思うものを 547 00:39:18,000 --> 00:39:31,000 整数varは使用されています。 548 00:39:31,000 --> 00:39:37,000 そして、彼らはしばしば言及している、あなたは整数で*を置き換えることができているという意味でのis_ *である 549 00:39:37,000 --> 00:39:43,000 文字列、とcetera、と本当に速いことを確認する 550 00:39:43,000 --> 00:39:50,000 これはint型のphpです。 551 00:39:50,000 --> 00:39:59,000 あなたがすることができるように見えるどちらint型であるか、または同様に整数があるのですか? 552 00:39:59,000 --> 00:40:06,000 はい、エイリアスなので、int型整数のエイリアス。 553 00:40:06,000 --> 00:40:08,000 クール。 554 00:40:14,000 --> 00:40:17,000 >> どうやってやっている? 555 00:40:17,000 --> 00:40:20,000 のはペースを少し拾ってみましょう。 556 00:40:20,000 --> 00:40:24,000 今、私たちは、あなたが見ることができるように、配列について説明するつもりだ 557 00:40:24,000 --> 00:40:28,000 仕様の次の部分で我々は、PHPでどのように配列の話 558 00:40:28,000 --> 00:40:31,000 彼らはCであるよりは若干異なります 559 00:40:31,000 --> 00:40:34,000 真実では、彼らはのアマルガムのようなものだ 560 00:40:34,000 --> 00:40:36,000 あなたがC言語で知っていると愛に来ている配列 561 00:40:36,000 --> 00:40:40,000 すべてが同じタイプである場合 562 00:40:40,000 --> 00:40:43,000 メモリ内に連続して連続して格納され、 563 00:40:43,000 --> 00:40:46,000 そしてあなたは、これらの数値インデックスを持っています。 564 00:40:46,000 --> 00:40:49,000 あなたはインデックス0、インデックス1、インデックス2を持っている 565 00:40:49,000 --> 00:40:53,000 そしてあなたは、インデックスに値を格納します。 566 00:40:53,000 --> 00:40:57,000 あなたはスペルを書いたCは、あなた方の多くにおいても 567 00:40:57,000 --> 00:41:00,000 ハッシュテーブルへのアプローチを行なったし、あなたは私たちがそこにいたことを見た 568 00:41:00,000 --> 00:41:03,000 我々がマッピングされたストレージの異なる種類 569 00:41:03,000 --> 00:41:07,000 値へのキーなので、ハッシュテーブルに何かを格納しようとしたとき 570 00:41:07,000 --> 00:41:11,000 あなたは、あなたが特定のキーを使用して格納したいことを指定する必要がありました 571 00:41:11,000 --> 00:41:17,000 そのキーは、値の場所で、それが格納されますを決定した。 572 00:41:17,000 --> 00:41:22,000 あなたは同じ種類では、PHPの配列で同時に起こって、これらの概念の両方を持っている 573 00:41:22,000 --> 00:41:27,000 その結果として、私たちはしばしばこれらの連想配列を呼び出す 574 00:41:27,000 --> 00:41:33,000 ここで我々は、値にキーを関連付けている。 575 00:41:33,000 --> 00:41:39,000 この次の部分では、単純なPHPの配列の話 576 00:41:39,000 --> 00:41:45,000 私たちは、a、b、cを、キーを持ってどこに 577 00:41:45,000 --> 00:41:53,000 すべての文字列、整数1、2、3へのマッピング。 578 00:41:53,000 --> 00:41:57,000 そして、あなたはさまざまな種類のキーを持つことができます。 579 00:41:57,000 --> 00:42:00,000 >> あなたは、文字列、整数であるいくつかのキーとなるいくつかのキーを持つことができます。 580 00:42:00,000 --> 00:42:03,000 あなたは、異なる型の値を持つことができます。 581 00:42:03,000 --> 00:42:06,000 あなたは、文字列の値は、整数の値を持つことができ、 582 00:42:06,000 --> 00:42:11,000 オブジェクトまたは別の配列の値は、例えば、 583 00:42:11,000 --> 00:42:16,000 奇妙なの一種で、同じ配列オブジェクト内のすべての。 584 00:42:16,000 --> 00:42:20,000 あなたはそれで要素のいずれかのタイプを持っている配列を持っている必要はありません。 585 00:42:20,000 --> 00:42:26,000 あなたは、多くの異なるものが存在する中で起こっていることができます。 586 00:42:26,000 --> 00:42:33,000 注意すべき他の事は、コード内でこのような何かを行うときに参照してくださいということです 587 00:42:33,000 --> 00:42:38,000 これは、ちょうどこのような配列は、0、1、2、3、4、5を宣言するためには、有効なPHPです 588 00:42:38,000 --> 00:42:43,000 それは、この配列であるように初期化$ arrを宣言します。 589 00:42:43,000 --> 00:42:48,000 しかし、あなたが実際にボンネットの下に取得しているために、暗黙的なこの種のである 590 00:42:48,000 --> 00:42:55,000 3から2に、我々は1から0、1から0を持っている鍵の生成、2、3。 591 00:42:55,000 --> 00:42:59,000 そして、それはあなたがここにこの男のような配列を持っている場合でも、ことが判明 592 00:42:59,000 --> 00:43:03,000 あなたはキーとしてa、b、cを持っている場所 593 00:43:03,000 --> 00:43:09,000 そして、あなたは、スタックのように、この配列を使用して起動するには、アレイのpushメソッドを使用して起動する 594 00:43:09,000 --> 00:43:12,000 ので、この配列オブジェクトは、この配列は本当に過負荷状態になっていると見ることができます。 595 00:43:12,000 --> 00:43:15,000 我々は、配列として使用することができます。我々はハッシュテーブルとして使用することができます。 596 00:43:15,000 --> 00:43:19,000 我々は、スタックとして使用することができます。 597 00:43:19,000 --> 00:43:22,000 あなたは、この配列に物事をプッシュ起動すると 598 00:43:22,000 --> 00:43:30,000 あなたがこの上にプッシュする最初の事はインデックス0、次にインデックス1、インデックス2になります。 599 00:43:30,000 --> 00:43:33,000 あなたは、キーの暗黙の世代のこの種を取得することができます 600 00:43:33,000 --> 00:43:38,000 それらを明示的に指定しない限り。 601 00:43:38,000 --> 00:43:43,000 明示的にキーを指定する方法は、もちろん、この括弧記法を使用することです 602 00:43:43,000 --> 00:43:48,000 配列に似除くだけではなく、可能である 603 00:43:48,000 --> 00:43:54,000 ここで整数のインデックスは、今、私たちは何を可能にします。 604 00:43:54,000 --> 00:43:57,000 あなたのキーは文字列にしたい場合は、このようにそれを指定すると思います。 605 00:43:57,000 --> 00:44:06,000 あなたはそれがint型になりたい場合は、使用したいint型でそれを指定します。 606 00:44:06,000 --> 00:44:13,000 >> その今までのところで質問がありますか? 607 00:44:13,000 --> 00:44:18,000 このアイデアの素晴らしい点の一つ 608 00:44:18,000 --> 00:44:26,000 あなたは今まで特定のキーで格納された複数の値を持つことができるということです。 609 00:44:26,000 --> 00:44:32,000 私達が私達の上に戻ってしまったら、私はこのようなもののいくつかを削除するアプライアンスベースましょう。 610 00:44:32,000 --> 00:44:47,000 とLet 'sは、私が行って、0、1、2、なるように配列を初期化すると言います。 611 00:44:47,000 --> 00:44:55,000 私が今知っている場合とは、例えば、私は$ arrが[0]エコー場合 612 00:44:55,000 --> 00:44:59,000 私は、値0は、プリントアウトするつもりだ 613 00:44:59,000 --> 00:45:05,000 としか特定のキーに格納されている一つの値が存在することができるので 614 00:45:05,000 --> 00:45:11,000 私は$ arrがで[0]を、と言う、何かを格納する場合 615 00:45:11,000 --> 00:45:16,000 私は$ arrをエコーし​​たとき、私はもう一度[0]知ってい​​る 616 00:45:16,000 --> 00:45:19,000 私は以前と同じようにプリントアウト0を取得するつもりはない。 617 00:45:19,000 --> 00:45:24,000 私は取得するつもりです。 618 00:45:24,000 --> 00:45:30,000 だから、これは基本的に私は$ arrが[0]に格納する2つの異なる値を持つことができないと言っている。 619 00:45:30,000 --> 00:45:34,000 それは、このように文字通り置き換え0と文字列の両方を格納することはできません 620 00:45:34,000 --> 00:45:38,000 $ arrが何であった[0]以前に。 621 00:45:38,000 --> 00:45:43,000 私がこれを持って来る理由は、それを実行すると、何が起こるかを参照してください。 622 00:45:43,000 --> 00:45:47,000 I 0は、プリントアウトしてから、ダウンしてここに来たことを、ここを参照してください。 623 00:45:47,000 --> 00:45:51,000 そこに私は怠け者だったので、全く新しいラインはありませんし、そのインチ入れていない 624 00:45:51,000 --> 00:45:54,000 これは何についてのクールなのは、我々は方法としてこれを使用することができます 625 00:45:54,000 --> 00:46:00,000 セットのこのアイデアをキャプチャする 626 00:46:00,000 --> 00:46:07,000 ここで我々は、配列内の複数のキーを持つことはできません。 627 00:46:07,000 --> 00:46:10,000 私たちは、アレイ内で同一のキーを持つことはできません。 628 00:46:10,000 --> 00:46:17,000 私は、キー0と値1と0キーと値を持つことはできません 629 00:46:17,000 --> 00:46:21,000 trueまたは0キーと値。 630 00:46:21,000 --> 00:46:27,000 キーはすべて存在する配列内の1つだけのキーです。 631 00:46:27,000 --> 00:46:32,000 あなたは、格納された値と同じ値を持つことができるにもかかわらず、 632 00:46:32,000 --> 00:46:35,000 別のキーの下に、アレイ内の複数回 633 00:46:35,000 --> 00:46:42,000 それはあなたのPHPの配列に同一のキーを複数回指定することはできません。 634 00:46:42,000 --> 00:46:47,000 >> 我々は、この次の問題を見れば、unique.php、 635 00:46:47,000 --> 00:46:51,000 我々は、PHPファイルを開きたい場所 636 00:46:51,000 --> 00:46:54,000 文字列のリストで、1行に1つの文字列を含む 637 00:46:54,000 --> 00:47:01,000 そして我々は、そのファイル内のユニークなすべての文字列を検索したい 638 00:47:01,000 --> 00:47:06,000 我々がしなければならないすべては、これらのPHPの配列のいずれかを使用している 639 00:47:06,000 --> 00:47:12,000 そしてこの配列にキーとしてファイル内の文字列を使用し 640 00:47:12,000 --> 00:47:17,000 我々はこれらの新しい鍵を保管としての配列を更新し続ける。 641 00:47:17,000 --> 00:47:22,000 我々はファイルの各行を読み出したとして、我々は、配列に格納することができます 642 00:47:22,000 --> 00:47:28,000 と最後に我々は我々の配列にキーとして持ちます 643 00:47:28,000 --> 00:47:34,000 ファイル内で一意の文字列のすべて。 644 00:47:34,000 --> 00:47:37,000 お分かりでしょうか? 645 00:47:37,000 --> 00:47:41,000 これがどのように機能するかを見てみましょう。 646 00:47:41,000 --> 00:47:49,000 我々は、仕様によると、unique.phpという新しいファイルを開くしようとしている。 647 00:47:49,000 --> 00:47:58,000 開きます。おっと、申し訳ありませんが、新しいファイルを作成します。 648 00:47:58,000 --> 00:48:03,000 我々は、同じ開始タグと終了タグでそれをオフに開始するつもりだ。 649 00:48:03,000 --> 00:48:17,000 私たちはセクション9でそれを保存しようとしている、と我々はそれunique.php呼ぶつもりです。 650 00:48:17,000 --> 00:48:25,000 さて、ズームイン 651 00:48:25,000 --> 00:48:32,000 ここでの考え方は、ファイルを開いている 652 00:48:32,000 --> 00:48:38,000 ファイルを1行ずつ読んで。 653 00:48:38,000 --> 00:48:46,000 ファイル内の各行の 654 00:48:46,000 --> 00:48:51,000 我々が持っているところは、配列があるでしょう 655 00:48:51,000 --> 00:49:03,000  当社の主要な行。 656 00:49:03,000 --> 00:49:09,000 そして、我々はここで終わりに到達したとき 657 00:49:09,000 --> 00:49:17,000 $ arrののキーは一意の行です 658 00:49:17,000 --> 00:49:25,000 ファイルから、我々は知っているので、私は、この配列に行を置く場合 659 00:49:25,000 --> 00:49:33,000 複数回はそれだけで、古い値を上書きし続ける 660 00:49:33,000 --> 00:49:46,000 それ自体はただ好きなように、私たちは実際には配列の行を置くことができます。 661 00:49:46,000 --> 00:49:48,000 >> これはおかしいの一種である。 662 00:49:48,000 --> 00:49:52,000 私たちは、何度も何度も何度も同じキーと値のペアを格納している 663 00:49:52,000 --> 00:50:00,000 しかし、我々は、ラインと呼ばれる1つだけのキーが存在することが保証されているので、 664 00:50:00,000 --> 00:50:05,000 我々は言うファイル動物の音のファイルを持っており、それは横糸、横糸を持っていますので、もし 665 00:50:05,000 --> 00:50:11,000 ニャー、ニャー、MOO、MOO、と私たちは動物のノイズを読むたびに、 666 00:50:11,000 --> 00:50:15,000 横糸と私たちのように我々は二度目次に横糸を取得し、我々の配列に格納 667 00:50:15,000 --> 00:50:20,000 我々はそれが我々がそれを保管したことを初めて上書きされ横糸を格納します。 668 00:50:20,000 --> 00:50:25,000 最終的に我々は、配列内の1つのエントリを持っています 669 00:50:25,000 --> 00:50:33,000 我々の動物の音ファイル内の動物の音のそれぞれのため。 670 00:50:33,000 --> 00:50:41,000 君たちは、PHPでファイルのオープンに取り組むことができると確信していますか? 671 00:50:41,000 --> 00:50:45,000 行う一つの方法は、それをみましょうそれを行うには、この迅速に片道上に行く 672 00:50:45,000 --> 00:50:50,000 さきほど見たように、fopenである。 673 00:50:50,000 --> 00:50:55,000 あなたは、fopenはsome_file.txtすることができます。 674 00:50:55,000 --> 00:50:59,000 あなただけのCのように、読み取りモードで開くことができます 675 00:50:59,000 --> 00:51:02,000 それはそれを行うには1完全には良い方法だ。 676 00:51:02,000 --> 00:51:05,000 ファイルを1行ずつ読み取るためにその後も 677 00:51:05,000 --> 00:51:12,000 あなたがC言語でやった彼らの多くは同じ機能を持っている 678 00:51:12,000 --> 00:51:14,000 あなたは、fgetsを持っています。 679 00:51:14,000 --> 00:51:17,000 我々はそれを使用して好きではないけれども、あなたは、feofを持っている 680 00:51:17,000 --> 00:51:22,000 覚えている、なぜなら、それはC言語で素晴らしいではありませんでした 681 00:51:22,000 --> 00:51:25,000 あなたはそれを同じように行うことができますが、 682 00:51:25,000 --> 00:51:34,000 しかし、ここは本当にクールなことです。 683 00:51:34,000 --> 00:51:41,000 申し訳ありませんが、私はファイル$を行うにはしたくないが、PHPでファイルと呼ばれる機能があります 684 00:51:41,000 --> 00:51:47,000 それは全体の内容を読み取るため、この関数は右ここにクールだ 685 00:51:47,000 --> 00:51:52,000 あなたがそうsome_file.txt、指定したファイルの、 686 00:51:52,000 --> 00:51:56,000 配列には、このファイルの内容全体を読み取る 687 00:51:56,000 --> 00:52:03,000 してから、かなり気の利いたである、それを反復することができます。 688 00:52:03,000 --> 00:52:07,000 >> 私達は私達のウェブブラウザには、例えば、行く場合 689 00:52:07,000 --> 00:52:14,000 そして我々は、PHPファイルをGoogleで調べる 690 00:52:14,000 --> 00:52:23,000 あなたは、このマニュアルでは、そのファイルが配列にファイル全体を読み込んで言うことがわかります 691 00:52:23,000 --> 00:52:27,000 そして我々は、ファイルの内容を文字列として返すにはfile_get_contentsできます 692 00:52:27,000 --> 00:52:30,000 が、通常は単に配列として取得すると、それが何のために本当にいいです 693 00:52:30,000 --> 00:52:33,000 それはとてもそれを壊していること、各要素 694 00:52:33,000 --> 00:52:37,000 アレイでは、ファイルの1行である 695 00:52:37,000 --> 00:52:41,000 我々はファイル0を見れそうだとすれば、それはファイルの最初の行です。 696 00:52:41,000 --> 00:52:46,000 ファイル1、二行目、ファイル2、第3ラインなどなど。 697 00:52:46,000 --> 00:52:50,000 それはあなたがC言語でなければならなかったすべてだった場合、それはいいと思いませんか? 698 00:52:50,000 --> 00:52:53,000 かなり気の利いた。 699 00:52:53,000 --> 00:52:59,000 ダビデは講演でこれを示し、彼が示したイディオムがあった 700 00:52:59,000 --> 00:53:03,000 ループ内でのPHPのための私達の標準に加えて、我々は持っていたこと 701 00:53:03,000 --> 00:53:09,000 ため($ i = 0のI <10; i + +)の、 702 00:53:09,000 --> 00:53:16,000 そしてあなたも、PHPでこれを行うことができ、同じ事 - 703 00:53:16,000 --> 00:53:27,000 我々はまた、foreachのと呼ばれるこのクールな構造を持っています。 704 00:53:27,000 --> 00:53:32,000 配列や、これらのデータ構造の繰り返し処理を行う場合、foreachは本当に便利です 705 00:53:32,000 --> 00:53:36,000 それはあなたが、配列の各要素を引き出すことができるため 706 00:53:36,000 --> 00:53:42,000 手動でインデックス作成を自分で行うことなく、 707 00:53:42,000 --> 00:53:46,000 手動でインデックス変数を作成しなくても、それをインクリメントし、 708 00:53:46,000 --> 00:53:51,000 それが行うには非常に一般的なものだから、その時点で配列の値を引き出します。 709 00:53:51,000 --> 00:53:54,000 >> おそらくやったことは、Cをやっていた時代のトン 710 00:53:54,000 --> 00:54:00,000 学期以上なので、このforeachで 711 00:54:00,000 --> 00:54:06,000 我々は、このファイルの配列をループすることができ、 712 00:54:06,000 --> 00:54:12,000 と構文は、私たちが今したいことを、この配列をループである 713 00:54:12,000 --> 00:54:18,000 そして我々が行っている変数を格納するために使用するように指定 714 00:54:18,000 --> 00:54:27,000 このforeachループのスコープ内にローカルにローカルで、この配列の要素は、 715 00:54:27,000 --> 00:54:32,000 我々はそれを呼び出す行するつもりされています。 716 00:54:32,000 --> 00:54:38,000 それは言葉だけのファイルだと、行にひとつの単語がある場合。 717 00:54:38,000 --> 00:54:43,000 よく、本当にちょうどあなたがこの名前を付けるように我々はそれを言葉を呼び出すことができ、 718 00:54:43,000 --> 00:54:49,000 あなたはそれを呼び出すようにしたいものは何でも、 719 00:54:49,000 --> 00:55:02,000 その後ループの内側には、この変数の行であなたが好きなことを行うことができます。 720 00:55:02,000 --> 00:55:08,000 それは配列の値を取得するのに十分ではありませんし、また、取得したい場合 721 00:55:08,000 --> 00:55:17,000 それとともに、インデックスがindexの名前を指定することができます 722 00:55:17,000 --> 00:55:22,000 値と同様、今度は2つの変数にアクセスすることができます。 723 00:55:22,000 --> 00:55:26,000 あなたは$ iとラインを持っている 724 00:55:26,000 --> 00:55:30,000 ここで、$ iは、配列内のインデックスであり、 725 00:55:30,000 --> 00:55:38,000 と行は、ファイルから取得した行です。 726 00:55:38,000 --> 00:55:49,000 たとえば、我々はこのようなファイルのエコーライン0を出力したい場合、 727 00:55:49,000 --> 00:55:57,000 私達はちょうどこのようにそれを行うことができました "ライン$ファイルのiは、ラインドルです" 728 00:55:57,000 --> 00:56:02,000 そしてここで我々はまた、いずれかのまだ見ていない何かである 729 00:56:02,000 --> 00:56:13,000 私は完全にこの全体の%s%dがビジネスを飛ばした場所 730 00:56:13,000 --> 00:56:16,000 我々は、C言語で対処しなければならなかったし、代わりに、私はまっすぐに行ってきたこと 731 00:56:16,000 --> 00:56:19,000 私の列に並んで変数を書く。 732 00:56:19,000 --> 00:56:23,000 >> これは、変数補間、文字列補間と呼ばれ 733 00:56:23,000 --> 00:56:26,000 あなたの右の変数、PHPインタプリタを詰めているところ 734 00:56:26,000 --> 00:56:31,000 それは二重引用符 - で始まる文字列を読んだときには十分にスマートです 735 00:56:31,000 --> 00:56:34,000 しない単一引用符は、単一引用符で囲まれた文字列では、これを、行うことはできません 736 00:56:34,000 --> 00:56:38,000 それは変数を探して通ってますが、二重引用符で囲まれた文字列とそれが読み込まれるので。 737 00:56:38,000 --> 00:56:42,000 それは、彼らを追い詰めるのは、それが変数を見れば、それは変数の値を取る 738 00:56:42,000 --> 00:56:47,000 それは文字列表現に変換することができた場合、文字列にそれを詰め込む、 739 00:56:47,000 --> 00:56:51,000 これはかなり素晴らしいです。 740 00:56:51,000 --> 00:56:56,000 さしあたり、すべての残りの部分をコメントアウトしてみましょう、 741 00:56:56,000 --> 00:57:00,000 これを保存して、私たちが今できることは、私たちがファイルを開くことができますです 742 00:57:00,000 --> 00:57:06,000 我々はsome_file.txt-ましょう新しいファイルを作成し呼び出すことができる 743 00:57:06,000 --> 00:57:15,000 そして我々は、ちょうどすべてをテストするには、ここでナンセンス原料の束に置くことができる 744 00:57:15,000 --> 00:57:25,000 私はトップでここまでやっているとして、それはsome_file.txt呼び出し、それを保存し、 745 00:57:25,000 --> 00:57:33,000 私はズームアウトしている場合、今ちょうどすべてが同じになっているディレクトリを確認し 746 00:57:33,000 --> 00:57:36,000 私はunique.phpと同じディレクトリにsome_file.txt持っているように見えます。 747 00:57:36,000 --> 00:57:42,000 私はphpのunique.phpを実行した場合 748 00:57:42,000 --> 00:57:51,000 それは私のファイルの各行を出力し、ラインが何であるかを見る? 749 00:57:51,000 --> 00:57:56,000 >> それは右、かなり強力なのですか? 750 00:57:56,000 --> 00:58:03,000 見て、それはファイルを開くためのコードの3行を取った。 751 00:58:03,000 --> 00:58:08,000 さて、コードの4行。私は明らかに、今日は数えることができない。 752 00:58:08,000 --> 00:58:13,000 しかし、実際に他の2つは、中括弧のコードだけ2興味深い行であったので、 753 00:58:13,000 --> 00:58:17,000 しかしこれだけのコードで、我々はそれを反復処理し、ファイルを開くことができました 754 00:58:17,000 --> 00:58:20,000 行番号と行自体を引き出し 755 00:58:20,000 --> 00:58:24,000 そしてそれを印刷してください。 756 00:58:24,000 --> 00:58:26,000 クールなもの。シャーロット。 757 00:58:26,000 --> 00:58:28,000 [シャルロット]私は構文について質問があります。 758 00:58:28,000 --> 00:58:33,000 だから、あなたが開いているファイルのすべての単一の行で情報をforeachの 759 00:58:33,000 --> 00:58:37,000 してから、一つ一つのラインで物事をやりたいときには同じようにそれを行う 760 00:58:37,000 --> 00:58:39,000 して値を関連付けます。 761 00:58:39,000 --> 00:58:41,000 [ネイトH.]何が正しい行いをすることができますここで、質問があった 762 00:58:41,000 --> 00:58:46,000 foreachは配列に関係しているので、foreachの構文 763 00:58:46,000 --> 00:58:51,000 本当にforeachので、どのスペースがないことに気付く 764 00:58:51,000 --> 00:58:53,000 それぞれのためとの間に、または何か。 765 00:58:53,000 --> 00:58:56,000 彼らは、隣同士に右に行かなければならない 766 00:58:56,000 --> 00:59:00,000 そして、次に、それは、配列に取り 767 00:59:00,000 --> 00:59:05,000 そして、あなたは、そこにされなければならないことと呼ばれるこの他のキーワードを持ってい 768 00:59:05,000 --> 00:59:11,000 その後の後には、いずれか一方の変数名を置くことができるように、 769 00:59:11,000 --> 00:59:14,000 あなたは、配列の値を引き出すことになるだろう、その場合、 770 00:59:14,000 --> 00:59:20,000 しないインデックス、または私達は下に書いたように、あなたがそれを行う場合 771 00:59:20,000 --> 00:59:24,000 あなたは、キーと値を取得します。 772 00:59:24,000 --> 00:59:33,000 値をキーにしたように、配列の配列またはペアのforeach要素を持っている 773 00:59:33,000 --> 00:59:38,000 または単に値として。 774 00:59:38,000 --> 00:59:40,000 あなたはキーを必要としない場合は、何が必要に応じて、 775 00:59:40,000 --> 00:59:42,000 その後は値で行くことができます。 776 00:59:42,000 --> 00:59:45,000 あなたが鍵をしたい場合は、あなたも一緒に行くことができます。 777 00:59:45,000 --> 00:59:48,000 >> [シャルロット]私はまた、我々はiまたは行を宣言決して実現。 778 00:59:48,000 --> 00:59:51,000 それはどのようにも、彼らが何であるかを知っていますか? 779 00:59:51,000 --> 00:59:53,000 [ネイトH.]は宣言とはどういう意味ですか? 780 00:59:53,000 --> 00:59:57,000 [シャルロット]我々は彼らに言われたことがない私は何かラインを意味します。 781 00:59:57,000 --> 01:00:01,000 [ネイトH.]我々は、iまたは行が言葉で何を意味するか、コンピュータを言わなかったの - 782 01:00:01,000 --> 01:00:05,000 [シャルロット]彼らはインデックスまたはそのすばらしいスタイル - していること 783 01:00:05,000 --> 01:00:09,000 [ネイトH.]我々は、これは、インデックスまたはキーと値であることになっていることがそれを言わなかった 784 01:00:09,000 --> 01:00:13,000 それは、PHPインタプリタだからです。 785 01:00:13,000 --> 01:00:17,000 これは、宣言として機能し、大丈夫、鍵があることを行っていると言う 786 01:00:17,000 --> 01:00:20,000 変数iは、iという変数に格納されていると呼ばれる。 787 01:00:20,000 --> 01:00:24,000 値は、ラインと呼ばれる変数に格納しようとしている、 788 01:00:24,000 --> 01:00:28,000 ので、これは、これらの変数の宣言として働く 789 01:00:28,000 --> 01:00:35,000 と$ iが鍵であり、$行が値であると言います。 790 01:00:35,000 --> 01:00:37,000 うん、エラ。 791 01:00:37,000 --> 01:00:41,000 [エラ]キーを使って数値的に行われていない場合 792 01:00:41,000 --> 01:00:44,000 それはどのようにそれがすべてを印刷するために何が起こっているのか順番を決めるのでしょうか? 793 01:00:44,000 --> 01:00:47,000 それはちょうどそれがで入力の注文を希望されますか? 794 01:00:47,000 --> 01:00:51,000 [ネイトH.]のは、それを試してみましょう。 795 01:00:51,000 --> 01:00:57,000 、ARRと呼ばれる変数を作成してみましょう 796 01:00:57,000 --> 01:01:06,000 そして我々は7に行くを行うことができます。 797 01:01:06,000 --> 01:01:19,000 1、2、またはリンゴを0に別の配列に行くと言ってみましょう。 798 01:01:19,000 --> 01:01:30,000 レッツは7が1になると言う、bは2に行く 799 01:01:30,000 --> 01:01:39,000 と3は4になります。 800 01:01:39,000 --> 01:01:44,000 我々は混ぜたいので、これはクレイジー探して例の一種である 801 01:01:44,000 --> 01:01:47,000 あらゆる場所に文字列と整数。 802 01:01:47,000 --> 01:01:50,000 この配列には、実際の順序はありません。 803 01:01:50,000 --> 01:01:55,000 私が言いたいのは、我々は、キーのアルファベット順にすべてのものを注文することができます。 804 01:01:55,000 --> 01:01:57,000 我々は、値のアルファベット順にすべてのものを注文することができます。 805 01:01:57,000 --> 01:02:00,000 >> 我々がしようとするといくつかの文字列であることを考慮して可能性があり、いくつかは、int型のアール 806 01:02:00,000 --> 01:02:03,000 そして我々は、試してみて、同じタイプにそれらすべてを変換し、何が起こるかを見ることができました 807 01:02:03,000 --> 01:02:09,000 あるいは、我々は、我々はすでに、それらを入力した値でそれらを検討することもでき 808 01:02:09,000 --> 01:02:14,000 ここで我々は第一、第二、第三に、この男で、この男は、この男を入れて 809 01:02:14,000 --> 01:02:19,000 第四、エトセトラでこの男。 810 01:02:19,000 --> 01:02:23,000 我々は、このコードを実行すると何が起こるか見てみましょう。 811 01:02:23,000 --> 01:02:29,000 我々は、下にスクロールして、同じようなことを行う場合 812 01:02:29,000 --> 01:02:31,000 そしてここには、新しい行をプリントアウトしていない。 813 01:02:31,000 --> 01:02:35,000 それは値の新しい行を含めたファイルのものを読んだとき、 814 01:02:35,000 --> 01:02:38,000 ここではそれがなかったのに対し、これらはそれは、きれいにプリントアウトされた理由 815 01:02:38,000 --> 01:02:40,000 その結果、すべてが一緒にsmushedいる理由だ。 816 01:02:40,000 --> 01:02:44,000 物事はいいように、その新しい行に追加してみましょう。 817 01:02:44,000 --> 01:02:51,000 ので、ここでそれを再実行してみましょう、と 818 01:02:51,000 --> 01:02:54,000 何が起こったのかを見てみましょう。 819 01:02:54,000 --> 01:03:00,000 それは、我々は配列に入れている順序で、すべてをプリントアウト。 820 01:03:00,000 --> 01:03:10,000 その意味で順序を保持しません。 821 01:03:10,000 --> 01:03:15,000 >> ユニークアイテムのこの問題に話を戻すと 822 01:03:15,000 --> 01:03:20,000 我々は、ファイルを反復処理できるようにしたいところ 823 01:03:20,000 --> 01:03:24,000 そして我々はそれがsome_file.txtあげる、 824 01:03:24,000 --> 01:03:27,000 そして我々はこのようにそれを反復するつもりだ。 825 01:03:27,000 --> 01:03:31,000 我々は、我々はすべてを持ってしたいことを確認するために配列を使用したいと言っ 826 01:03:31,000 --> 01:03:36,000 ユニークなそこのラインアウト、私たちは、本当に簡単に行うことができます 827 01:03:36,000 --> 01:03:49,000 ただ我々はもちろん、ループの範囲外で宣言した配列に格納することにより、 828 01:03:49,000 --> 01:03:55,000 そして我々は我々の配列のキーとしてファイルの行を使用した場合と言わ 829 01:03:55,000 --> 01:03:59,000 我々は、重複行を入力した場合、我々は以前の値を上書きしていると思います。 830 01:03:59,000 --> 01:04:08,000 これは、同じ配列が同一である2つのキーを持つことが、これまでは不可能です。 831 01:04:08,000 --> 01:04:13,000 我々は、ちょうどそれを行うことができます。 832 01:04:13,000 --> 01:04:17,000 我々は、右ここにこのecho文を取り除くでしょう。 833 01:04:17,000 --> 01:04:24,000 ここに私達は私達の配列にファイルの行を保存している 834 01:04:24,000 --> 01:04:28,000 自身をキーとして使用します。 835 01:04:28,000 --> 01:04:32,000 なんてことはない、それは私たちも、このキーを必要としないことが判明した。 836 01:04:32,000 --> 01:04:38,000 我々は、i変数は必要ありません。 837 01:04:38,000 --> 01:04:43,000 この時点で我々は、別のforeachループを実行するとします。 838 01:04:43,000 --> 01:04:48,000 そして我々はそれぞれのARRをループ処理していた 839 01:04:48,000 --> 01:04:56,000 とライン今我々はエコーおっと場合、申し訳ありません。 840 01:04:56,000 --> 01:05:00,000 我々は、カンマを使用することはできません。我々は、キーワードとしてこれを使用する必要があります。 841 01:05:00,000 --> 01:05:05,000 我々が行をエコーする場合今、私たちは、ファイル内で一意の単語のすべてを取得する必要があります。 842 01:05:05,000 --> 01:05:10,000 我々はsome_file.txtまで行けば、 843 01:05:10,000 --> 01:05:19,000 としてみましょう、我々はリンゴ、バナナ、リンゴ、りんご、バナナを行うと言う 844 01:05:19,000 --> 01:05:22,000 我々は、このファイル内の一意の単語のすべてをプリントアウトしている場合我々は唯一の取得する必要があります 845 01:05:22,000 --> 01:05:30,000 リンゴとバナナがプリントアウトする。 846 01:05:30,000 --> 01:05:36,000 我々はこれを保存する場合は、今ここで我々は、中にはズームインしてよ 847 01:05:36,000 --> 01:05:44,000 PHP unique.php、およびTA-DA。 848 01:05:44,000 --> 01:05:51,000 我々はファイルを正常にuniquedた。 849 01:05:51,000 --> 01:05:55,000 >> あなたはそれをプリントアウトする前に、この問題の最後の部分では、この配列をソートすることを求めている 850 01:05:55,000 --> 01:05:58,000 この単純な例では我々だけでやったので、 851 01:05:58,000 --> 01:06:04,000 我々は、ファイルその意味でラッキーだった 852 01:06:04,000 --> 01:06:06,000 我々は、リンゴとバナナとこの不自然な例をしました。 853 01:06:06,000 --> 01:06:08,000 これは、すでにソートされていました。 854 01:06:08,000 --> 01:06:19,000 しかし、単純なソート機能を使用してあなたは、かなり素晴らしいです配列を並べ替えることもできます。 855 01:06:19,000 --> 01:06:24,000 私は本当に素早くについて皆さんとお話したかった最終的なもの 856 01:06:24,000 --> 01:06:31,000 PHPは、この種のすべてが順調と良いということです、そして、それは便利なスーパーです 857 01:06:31,000 --> 01:06:43,000 あなたは今までプログラムで少し、迅速な物事を行う必要がある場合、実行する方法を知っている。 858 01:06:43,000 --> 01:06:48,000 たとえば、私が言うと、そのプログラムを記述する場合に必要な、 859 01:06:48,000 --> 01:06:53,000 誰もが私はC言語でそれを行って、書き込みするつもりはないのセクションに置き 860 01:06:53,000 --> 01:06:55,000 それは長いものになるだろう。 861 01:06:55,000 --> 01:06:57,000 それは、関係するファイルがある場合は特に、痛みの種類になるだろう 862 01:06:57,000 --> 01:07:00,000 君たちが見てきたように。 863 01:07:00,000 --> 01:07:05,000 それはとても素敵だと右ここに、ちょうどこのくらいのコード付き 864 01:07:05,000 --> 01:07:08,000 我々はファイルを介してリッピングすることができました、すべての一意の値を取り出す 865 01:07:08,000 --> 01:07:11,000 し、それらをバックプリント。 866 01:07:11,000 --> 01:07:16,000 >> しかし、あなたの割り当てについては、あなたのプロジェクトのために、 867 01:07:16,000 --> 01:07:20,000 もしPHPでWebサイトを構築している場合は、電源ということである 868 01:07:20,000 --> 01:07:25,000 我々は、この通訳を介して私たちのPHPファイルを実行している、 869 01:07:25,000 --> 01:07:29,000 とインタプリタは、PHPタグ内のすべてのものを処理している 870 01:07:29,000 --> 01:07:34,000 他のすべてはそのまま残して、その結果を吐き出す。 871 01:07:34,000 --> 01:07:40,000 我々は、プログラムでHTMLを構築するためにこれを行うことができます。 872 01:07:40,000 --> 01:07:46,000 今、私たちはスペックの最後の問題は、仕様に戻ってしまったら 873 01:07:46,000 --> 01:07:56,000 濃度のこのアイデアについて話 874 01:07:56,000 --> 01:08:01,000 と、ドロップダウンメニューを作成する 875 01:08:01,000 --> 01:08:06,000 そのあなたがまたは、あなたの最終的なプロジェクトが何をしているかに応じて、何をしたいかもしれません 876 01:08:06,000 --> 01:08:13,000 ユーザーはすべての可能な濃度のリストから選択することを可能にする 877 01:08:13,000 --> 01:08:15,000 彼らの1濃度。 878 01:08:15,000 --> 01:08:21,000 さて、これはこれを入力する痛みの種類です 879 01:08:21,000 --> 01:08:25,000 そしてあなたが確認するために抱えている場合は特に、手動ですべてこれを行う必要が 880 01:08:25,000 --> 01:08:28,000 あなたは適切な場所にあるすべての角括弧と右の場所にあるすべての引用符を持っていること、 881 01:08:28,000 --> 01:08:34,000 ので、PHPでは、プログラムでこれを行うことができます、そしてあなたが本当に素早くこれを行うことができます。 882 01:08:34,000 --> 01:08:36,000 >> これを行う方法を見てみましょう。 883 01:08:36,000 --> 01:08:42,000 私たちは、新しいファイルを開くしようとしている。 884 01:08:42,000 --> 01:08:46,000 私たちは、PHPのタグに置くつもりです。 885 01:08:46,000 --> 01:08:53,000 我々はそれconcentrations.php呼び出していくつもりですが、 886 01:08:53,000 --> 01:08:58,000 考えることは良いことの今、あなたはこれをやっている、一種 887 01:08:58,000 --> 01:09:02,000 あなたのPHPとHTMLを混在さと一致するようにしようとしているとき 888 01:09:02,000 --> 01:09:08,000 見つけ出すことです、大丈夫、私はプログラムで生成したい部分は何ですか? 889 01:09:08,000 --> 01:09:11,000 私はプログラムで生成することができる部分は何ですか? 890 01:09:11,000 --> 01:09:17,000 それはあなたのHTMLのすべてを行うことができるというのは本当です 891 01:09:17,000 --> 01:09:19,000 PHPブロックの内側。 892 01:09:19,000 --> 01:09:24,000 あなたは、文字列としてHTMLのすべてをエコーすることができます。 893 01:09:24,000 --> 01:09:30,000 たとえば、私はPHPの内部でselectタグをやって起動したい場合 894 01:09:30,000 --> 01:09:46,000 私はエコーを言うことができ、名前=濃度を選択すると言う 895 01:09:46,000 --> 01:09:49,000 その後ダウンして、私は別のエコータグを及ぼす可能性があります下に 896 01:09:49,000 --> 01:09:57,000 または別のエコーは、[閉じる]を選択しますと呼ばれる。 897 01:09:57,000 --> 01:10:00,000 何これは文字通り何をしようとしているので、これはそれを行うための一つの方法です 898 01:10:00,000 --> 01:10:09,000 それは、PHPインタプリタを介して実行されている場合、この文字列をプリントアウトされる 899 01:10:09,000 --> 01:10:12,000 ので、結果はHTMLでしょう。 900 01:10:12,000 --> 01:10:18,000 それが今であると私は、このファイルを保存した場合 901 01:10:18,000 --> 01:10:24,000 と私はphp concentrations.phpを実行 902 01:10:24,000 --> 01:10:26,000 私が得たものを見てみましょう。 903 01:10:26,000 --> 01:10:30,000 私はこのオープンクローズselectタグを得た。 904 01:10:30,000 --> 01:10:36,000 >> 私はこれを行うにあったと私は、このファイルに結果を保存した場合、 905 01:10:36,000 --> 01:10:45,000 concentrations.htmlウェイトと言うには、lが他にフェールオーバてしまったように見えるサイド 906 01:10:45,000 --> 01:11:02,000 私がここまで開いた場合今、あなたは私が有効なHTMLファイルを持って参照してくださいconcentrations.html。 907 01:11:02,000 --> 01:11:05,000 奇妙なことだろうか? 908 01:11:05,000 --> 01:11:09,000 我々は、HTMLを作成する有効なHTMLを作成するためにPHPを使用しています。 909 01:11:09,000 --> 01:11:13,000 我々はそれをやっている方法は、我々だけでPHPのプリントを抱えている 910 01:11:13,000 --> 01:11:16,000 我々はそれを印刷したいHTML。 911 01:11:16,000 --> 01:11:20,000 これは、PHPのウェブサイトがどのように機能するか、文字通りです。 912 01:11:20,000 --> 01:11:24,000 あなたは次のようにあなたを送信するWebサイトにアクセスすると 913 01:11:24,000 --> 01:11:30,000 何か、何か、何かドットコムスラッシュindex.phpを 914 01:11:30,000 --> 01:11:33,000 コンピュータは文字通りのindex.phpを呼んでいる、 915 01:11:33,000 --> 01:11:38,000 PHPインタプリタを介して実行して、どのようなジャンクが出てくる 916 01:11:38,000 --> 01:11:49,000 それは、ブラウザに送り返すとちょっと言って、ブラウザ、HTMLとしてこれを解釈している。 917 01:11:49,000 --> 01:11:54,000 良いところは、常にエコー、エコー、エコー、エコーを書くことが苦痛になることができるということです 918 01:11:54,000 --> 01:11:59,000 ので、あなたが書きたいのであれば、このように引用符で、すべてを囲む 919 01:11:59,000 --> 01:12:04,000 あなたはこのようにそれを行うことができます自分で静的になるだろう、HTML、 920 01:12:04,000 --> 01:12:16,000 、それを閉じて、外にそれを置く 921 01:12:16,000 --> 01:12:21,000 その後ここにあなただけが知っていることPHPタグ内に置く 922 01:12:21,000 --> 01:12:26,000 あなたは、プログラムで生成すると、このケースでは、それらのオプションタグです 923 01:12:26,000 --> 01:12:31,000 それが生成する痛みです。 924 01:12:31,000 --> 01:12:37,000 >> たとえば、我々は千optionタグを生成することができ 925 01:12:37,000 --> 01:12:48,000 このような何かを行うことで、$ iが<1000、i + +は 926 01:12:48,000 --> 01:13:00,000 とエコーオプション値= $-おっと、私はそれを行うことはできませんと言いました。 927 01:13:00,000 --> 01:13:03,000 さて、のは試してみて、何が起こるか見てそれを与えることができます。 928 01:13:03,000 --> 01:13:22,000 $ iとし、$ iを言って 01:13:27,000 むしろそのオプションタグを入力する手間を千倍以上異なる 930 01:13:27,000 --> 01:13:33,000 私は、プログラム、それを自動的に生成するPHPコードを使用しています。 931 01:13:33,000 --> 01:13:38,000 気の利いた一種。うん。 932 01:13:38,000 --> 01:13:41,000 私は、これは講義やチュートリアルのいずれかで言及されたことを覚えている 933 01:13:41,000 --> 01:13:43,000 が、引用符の違いは、何ですか 934 01:13:43,000 --> 01:13:45,000 通常のものと、これらの単一の事? 935 01:13:45,000 --> 01:13:49,000 それは実際に私がお見せするつもりだったことをここに間違ってやったことを何かである。 936 01:13:49,000 --> 01:13:52,000 単一引用符には、特殊文字を許可していない、 937 01:13:52,000 --> 01:13:57,000 ため、単一引用符で囲まれた文字列の中ですべてのものが文字どおりに解釈されます。 938 01:13:57,000 --> 01:14:02,000 私は\ n単一引用符の内側を持っていたと私は、例えば、これを保存した場合 939 01:14:02,000 --> 01:14:07,000 そして今、私はここに行くと、それを実行し、 940 01:14:07,000 --> 01:14:12,000 おっと、私はどこに行くのですか? 941 01:14:12,000 --> 01:14:19,000 私は$を忘れてしまったのでああ、それは。 942 01:14:19,000 --> 01:14:25,000 >> 私はアップ実際に開いている場合今、ここ、私たちは、それをファイルに入力するのを取り除くでしょう。 943 01:14:25,000 --> 01:14:27,000 我々はそれを読んでみよう。 944 01:14:27,000 --> 01:14:34,000 ここでは、私ではない、実際の新しい行のような文字列でこのリテラル\ nを持っていることがわかり 945 01:14:34,000 --> 01:14:38,000 と同様に、代わりに、実際にこの変数の値を補間する 946 01:14:38,000 --> 01:14:42,000 それは私に痛みの種類である$ i自身を与えた。 947 01:14:42,000 --> 01:14:46,000 これを回避する方法は、二重引用符を使用することです 948 01:14:46,000 --> 01:14:52,000 そしてあなたはそれが実際に意志を二重引用符を使用する場合 949 01:14:52,000 --> 01:14:56,000 ここで適切に補間し、これらの変数のすべての値を 950 01:14:56,000 --> 01:14:59,000 そしてまた、それが提供している新しいラインであることが、この\ nを認識 951 01:14:59,000 --> 01:15:02,000 とされていません\ n。 952 01:15:02,000 --> 01:15:07,000 あなたが持っているときに、単一のものを使用するといいです 953 01:15:07,000 --> 01:15:10,000 次にあなたがする必要はありませんので、特殊文字として解釈されるかもしれない文字 954 01:15:10,000 --> 01:15:15,000 常にそれらをエスケープする。 955 01:15:15,000 --> 01:15:18,000 物事が厄介になると、多くの場合、私はそれを行う方法ができ、 956 01:15:18,000 --> 01:15:24,000 物事を簡単にするように、つまり私が何かを持ってするつもりなら 957 01:15:24,000 --> 01:15:31,000 HTMLの私のコードのように私は、単一引用符内の編集が含まれます 958 01:15:31,000 --> 01:15:36,000 し、この連結演算子を使用 959 01:15:36,000 --> 01:15:43,000 インチ変数を連結する 960 01:15:43,000 --> 01:15:47,000 これはそれを行うための別の方法である 961 01:15:47,000 --> 01:15:52,000 我々は、これは文字列である接続しようとしている点を持っている場所 962 01:15:52,000 --> 01:15:56,000 これとこれとこれと、 963 01:15:56,000 --> 01:15:59,000 そして今、私はこれらの二重引用符をエスケープする必要はありません。 964 01:15:59,000 --> 01:16:02,000 私は脱出するために、この男を使用する必要はありません。 965 01:16:02,000 --> 01:16:08,000 彼らは文字通り右ここに二重引用符と、この男のようにプリントアウトされます。 966 01:16:08,000 --> 01:16:11,000 これは、すべてを一緒に混合する別の方法です。 967 01:16:11,000 --> 01:16:14,000 >> [学生]はまた、GetTypeをエコーするとき全く引用符がありませんでした。 968 01:16:14,000 --> 01:16:22,000 右ので、エコーでは括弧を必要としないという意味で特別なの一種です。 969 01:16:22,000 --> 01:16:29,000 あなたは、二重引用符は、変数の周りに必ずマークしておく必要はありません 970 01:16:29,000 --> 01:16:37,000 それのようにエコー$ iの回答を有効だし、それは文字列としてこれを解釈するために起こっている。 971 01:16:37,000 --> 01:16:44,000 それは、キャストを行うために起こっているので、我々はこれを行うことができ、そしてそれはあまりにも有効だが、我々はそれを必要としない。 972 01:16:44,000 --> 01:16:48,000 これはオプションとなっています。 973 01:16:48,000 --> 01:16:53,000 今週の問題セットでのもののこの種の多くのために外を見る 974 01:16:53,000 --> 01:16:58,000 あなたは、PHPとHTMLを混合し、一致している場所 975 01:16:58,000 --> 01:17:08,000 我々は戻ってスクロールしている場合だけ、このように、今、我々はこれを実行する 976 01:17:08,000 --> 01:17:13,000 我々はオプション値の全体の束を持っていることがわかります 977 01:17:13,000 --> 01:17:15,000 それは単にプリントアウトしてしまった。 978 01:17:15,000 --> 01:17:20,000 私達は私達のために本当に速く生成得たすべてはこのHTMLを持っています。 979 01:17:20,000 --> 01:17:22,000 私は運動としてそれを残しておきます。 980 01:17:22,000 --> 01:17:24,000 それは我々が以前行ったことを読んでファイルにたいへんよく似ている。 981 01:17:24,000 --> 01:17:31,000 >> あなたは中古品プルダウンできることconcentrations.txtファイルがあります 982 01:17:31,000 --> 01:17:34,000 そしてあなたは、私たちが以前行ったのと同じforeachのトリックを使用して、それを開くことができます 983 01:17:34,000 --> 01:17:39,000 そしてあなただけのオプションとプラグをエコーする必要がありますforeach 984 01:17:39,000 --> 01:17:44,000 適切な値は、適切なキーとインデックス、 985 01:17:44,000 --> 01:17:49,000 そして、あなたは文字通り作成し、ドロップダウンを得る 986 01:17:49,000 --> 01:17:54,000 プログラムでハーバード大学の種々の濃度の皆さんのために。 987 01:17:54,000 --> 01:17:57,000 用意しておくと便利なこと。 988 01:17:57,000 --> 01:18:02,000 この割り当ての設定のものがたくさんある。 989 01:18:02,000 --> 01:18:07,000 あなたが行っていない場合、それは既に次の30分、時間を取る 990 01:18:07,000 --> 01:18:10,000 今夜は間違いなく確かに、いくつかの時間 991 01:18:10,000 --> 01:18:14,000 、問題セットの仕様を歩く 992 01:18:14,000 --> 01:18:20,000 バーチャルホストは、ローカルホスト、すべてのものを設定で何が起こっているかを参照してください。 993 01:18:20,000 --> 01:18:24,000 たった今指摘すべき点は、ということです 994 01:18:24,000 --> 01:18:30,000 ほとんどの問題セットで我々はあなたのDropboxフォルダに入ってきた 995 01:18:30,000 --> 01:18:34,000 その後問題セットのzipファイルをダウンロードし、それを解凍する。 996 01:18:34,000 --> 01:18:36,000 この問題のためにあなたがしたくない設定。 997 01:18:36,000 --> 01:18:40,000 このvhostsディレクトリに入りたい。 998 01:18:40,000 --> 01:18:45,000 あなたは、バーチャルホストに移動して、その中にローカルホストのディレクトリに移動したいと思う 999 01:18:45,000 --> 01:18:50,000 zipファイルをプルダウンしたいと思うところ、これは、ある 1000 01:18:50,000 --> 01:18:55,000 それを解凍して、出かけようとする。 1001 01:18:55,000 --> 01:18:57,000 あなたが密接に手順を実行する必要があります。 1002 01:18:57,000 --> 01:19:02,000 >> ご不明な点がございましたら、メールを送信し、オフィスアワーに来て、議論に投稿してください。 1003 01:19:02,000 --> 01:19:08,000 みんなありがとう。来週はクイズのレビュー·セッションを持っているつもりです。 1004 01:19:08,000 --> 01:19:12,000 あなたの最後の問題セットをお楽しみください。私はそれがすべて本当にうまくいくといい。 1005 01:19:12,000 --> 01:19:14,000 [CS50.TV]