1 00:00:00,000 --> 00:00:05,340 2 00:00:05,340 --> 00:00:07,370 >> DOUG 로이드 : 그래서 우리는했습니다 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 두 사람은 정말로있다 전구 언어 그 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 그리고 그것은 희망을 만들어야합니다 하나에서 다른 전환 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과. 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 하지만 - 그래서 않을거야 당신을 위해 그것을 삭제하려면 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 웹 개발, 105 00:05:00,390 --> 00:05:04,010 그것이 의미하기 때문에 우리는 할 수 PHP와 HTML을 산재. 106 00:05:04,010 --> 00:05:06,640 우리는에 함께 사용할 수 있습니다 보다 동적 인 웹 페이지를 만들 수 있습니다. 107 00:05:06,640 --> 00:05:10,650 그러나에 그에 대한 자세한 PHP 웹 개발에 대한 비디오. 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 다만 큰 두 가지가 있습니다 C.의 차이 114 00:05:20,067 --> 00:05:21,900 첫 번째는있을 것입니다 어떤 유형의 지정이 없습니다. 115 00:05:21,900 --> 00:05:24,245 우리는 INT 말을 할 필요가 없습니다 문자, 플로트, 모든 물건. 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에서 확인합니다. 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 >> 우리는 또한 여전히 스위치 문이 있습니다. 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 우리는 계산하는 동안 루프를 가지고 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 그래서 다시,이 이십년 존재 그 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 우리 모두의 혼합을 가질 수있다 하나의 배열의 다른 종류. 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 이 네 개의 값의 배열을 만들고, 이 경우 숫자는, $의 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 일반적으로 거기에 단지 두 개 PHP에서 뭔가를 할 수있는 세 가지 방법, 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 그러나 이러한 예는 모두 여기에 줘 이 경우에는 네 개의 정수들의 어레이. 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 나는 SEG 고통을하지 않을거야 어레이 내 단지 때문에, 장애 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 또는 1000을 말한다. 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 그래서 우리는 지금 세 가지 방법을 본 적이 배열에 다른 요소를 압정합니다. 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 그 배열에, 아마도 문자열, 문자열 "다섯,"나는 그렇게 할 수 있습니다. 262 00:12:20,860 --> 00:12:26,110 그리고 지금 내 배열 것 사실 1, 3, 4, 다섯 될. 263 00:12:26,110 --> 00:12:28,640 워드 다섯 아닌 정수 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 개의 요소를 가지고, 유효 인덱스는 N 마이너스 1 0입니다. 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 루프의 제 4 종류를 소개하고 그 PHP는 foreach 루프라는 존재합니다. 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 그리고에서 그 때마다 루프는 수도 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 독립에 말하는입니다 $ 피자 대괄호 $ 난 345 00:16:59,140 --> 00:17:03,370 우리는 루프, 여기서 우리가를 사용한 경우 이 경우 $ 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, 나는 미만 3 int로 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 그리고 있는데 ... 만약 당신이없는 경우에도 전적으로이 할 무슨 일이 일어나고 있는지 확인, 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 인쇄 문이 많이있다, 하지만 단 하나의 백 슬래시 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 그것은 당신을 제공 있는데 ... 그냥 준다 키와 값에 액세스 할 수 있습니다. 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 >> 그리고 그 두 아니다. 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 우리는이 다섯 가지가 있었다 별도의 인쇄 문, 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은 (는) $ 가격 어디 푸른 %의과 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 >> 그러나 나는이 일을하고 있지 않다 통지 %의 대체 어떤 종류의, 450 00:22:37,080 --> 00:22:40,050 난 그냥 그대로 연결 해요 이러한 변수. 451 00:22:40,050 --> 00:22:45,110 그리고 항아리에 여기에 무슨 일이 일어날 것 그 $ 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 모든 함수가 도입된다 함수 키워드. 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 그것은 분명히 한 소요 매개 변수, 내가 $의 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 여기 루프를 사용하고 있습니다. 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 그래서 나는 분명히이거나 먹어거야 나는 사용자에게 메시지를 표시거야 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 사용자가 우리에게 준 NULL로 동일하지 않은 경우 530 00:26:35,504 --> 00:26:37,920 우리는 시작하고 싶지 않기 때문에 널 (null) 문자열 작업. 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 파일은 필요 없어 단지 하나의 파일합니다. 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 웹 기반 프로그래밍 언어로. 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, Enter 키를 누르십시오. 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 난 그냥 실제로 이러시면 때거야 PHP 인터프리터는이를보고 627 00:31:21,750 --> 00:31:23,400 그것은 인쇄 것 "당신의 이름은 무엇입니까?" 628 00:31:23,400 --> 00:31:25,941 그런 다음 here's--, 확인, 오,보고 다른 모든 될 것입니다 629 00:31:25,941 --> 00:31:29,970 그래서, PHP로 해석 이 작품 이유입니다. 630 00:31:29,970 --> 00:31:34,990 나는 반드시 메시지를 표시 할 필요가 없습니다 작성한 Readline의 내부 사용자 이러시면, 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 >> 좋아, 그래서 파일을 연 여기 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 사용자 저장소에서 라인을 읽고 그들은 $의의 기본값과에서의 입력 뭐든간에. 647 00:32:20,450 --> 00:32:23,980 그들을 함께 추가하고 해당 저장소 $ 합라는 변수가 발생, 648 00:32:23,980 --> 00:32:26,180 다음 "인쇄 이 두 숫자의 합 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 이 두 숫자의 합은 7이다. 656 00:32:43,370 --> 00:32:45,030 즉 3 플러스 4입니다. 657 00:32:45,030 --> 00:32:45,530 그래? 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 그래서 그 두 줄은 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에와의 기본값과의. 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 이 두 숫자의 합은 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 그리고 하나 더 열어 여기 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 나는 하나 여기에 더이라고이 또한, 참조 dice1.php, 691 00:34:33,280 --> 00:34:37,440 그 각도 브래킷 질문이 있습니다 거기에 등호 표기를 표시, 692 00:34:37,440 --> 00:34:40,659 그러나이 경우에 난 것을 알 수 함수 랜드를 호출하는 당신 같은 693 00:34:40,659 --> 00:34:42,790 예상 난수를 생성합니다. 694 00:34:42,790 --> 00:34:46,889 "당신은, 압연"그것은 것 + 어떤 임의의 숫자, 모드 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 >> 모드 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 나는 두 번이 일을 해요. 702 00:35:04,720 --> 00:35:08,630 그래서 분명히 나는​​ 압연 오전 이 프로그램에 두 개의 주사위입니다. 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 즉이 첫 두 글자입니다. 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 이는 분명히 / 사용자 / 빈 / PHP, 인 여기서 PHP 인터프리터 실제로 723 00:36:05,250 --> 00:36:08,590 특히 우리의 시스템에 살고있다. 724 00:36:08,590 --> 00:36:12,530 그게 ... 그래서 어떻게 여기 발생 통역, 오, 이해 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 그리고 우리는 나아갈 것입니다 그리고 우리는 조금 이야기 좀 더에 대한 파일 권한 변경 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에서 나는이 두 파일이 일하지 않는 것처럼 보일 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, 그냥 내가 다 배쉬 때와 같은. 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 이 두 숫자의 합은 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 정말 우리에게 능력을 제공합니다 한 단계 또는 두 개의 물건을 촬영합니다. 770 00:38:43,670 --> 00:38:48,230 우리는 정말로 걱정할 필요가 없습니다 우리가 정말 안 비슷해 너무 많이 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 그래서, 지금 우리에게 능력을 제공합니다 PHP로 C에서 전환, 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