[Powered by Google Translate] [제 8] [이하 편안한]
[네이트 Hardison] [하버드 대학]
[이 CS50 수 있습니다.] [CS50.TV]
>> 마지막 섹션으로 두 번째에 오신 것을 환영합니다.
이번 주에 우리는 다음 주 후 PHP에 대해 이야기 할 거 고요
우리는 퀴즈 1에 대한 약간의 검토를 수행합니다.
우리는 팩을 설정 문제의 3 페이지에 시작 할거야
우리는 매우 신속하게 질문의 섹션을 통해 작동됩니다.
3 페이지에, 우리는 C와 PHP 간의 차이에 대해 얘기하기 시작
PHP는 동적 타입 언어입니다 의미에서,
C는 정적으로 입력 된 반면,
그리고 사람은 정말 신속하게 PHP와 같은 어떤 코딩을 완료했습니다
또는 자바 스크립트, 이전 파이썬이나 루비?
완전히 새로운? 좋아요.
>> 방금 언급하는 이러한 언어의 모든
C 및 C + + 및 Java와 같은 언어에서 매우 다릅니다
의미하는 당신은 변수를 선언 할 때 당신은 선언 할 필요가 없습니다
그게 어떤 변수 때문에 C에서 우리는 항상 말을 할 필요가 붙어 있었다
이 정수 변수가 될 것입니다, 또는이 숯불 * 변수가 될거야
루비와 파이썬과 PHP, 반면
이 더 현대적인 언어로 많은으로 당신은 전혀 그렇게 할 필요가 없습니다.
당신은 당신의 변수를 선언하고, PHP의 경우
당신은 $ 기호로 prefixing하여이 변수의 선언
다음 변수의 유형은 잘 잡혀있는 어떤 가치에 의해 결정됩니다
이는 가지 시원합니다.
이 조금들을 플레이하기 위해, 우리는 여기에 샘플 PHP 코드가
시작과 끝 태그 사이 인치
우리는 의미에서 HTML처럼 이런 종류의를 사용하는 것
우리는 열고 닫으려면 여기에 꺾쇠 괄호있어.
당신은 HTML와 함께 표시됩니다.
당신도 XML로 이와 같은 문법을 확인할 수 있습니다.
>> 이 PHP 블록의 시작을 나타냅니다.
이? PHP는 PHP에 따라 달라집니다.
우리는?>뿐만 아니라 모든 것들을 닫습니다.
의이 원하는대로 사용하여 Google 어플라이언스에서 파일을 열어 보자.
이 패킷에는이 dynamic.php 전화를 말합니다.
사실, 당신이 원하는 무엇이든을 호출 할 수 있지만, 파일 이름이 올 것이다
그래서 단지는 뭐라고 불러야 하죠 기억, 나중에 중요하다.
나는 어플라이언스로 전환거야
그리고 저는 디렉토리를 만들거야
섹션 9 나는 우리가 지금에와 생각합니다.
그리고 우리는, 제 9로 이동합니다
그리고 gedit를 사용하는거야.
하자, gedit을보고, 난 내 dynamic.php를 부르 겠소.
붐.
dynamic.php 내에 때문에이 PHP 파일입니다
나는 PHP 인터프리터를 통해이 작업을 실행하려면
난 그런 열린 태그와 함께 모든 시작해야합니다
그래서이 거리에 그 권리를 시작할 거예요
자신에게 태그 사이에 약간의 공간을 제공
다음이 운동의 포인트는들을 플레이하는 것이 었습니다
이 기능은 여기서 말하는 gettype,이 기능을 gettype했다.
>> 더 그런 식으로 나 공백이나 하이픈이나 뭐 거기 밑줄 있다는주의 없습니다
2 단어 구분하고 모두 단지 하나의 단어를 입력합니다.
나는 gettype에 변수에 통과하면 그런데이 할 것입니다 것은,
은 $ var 또는 $ X를, 말
이런 일이 나에게 디버깅 형식으로 가지 말 것
그게 무슨 유형의 이름입니다.
우리는 여기서 실험거야.
특히 pset 사양에 돌아 보면
여기 코드의 몇 가지 다른 라인있어.
코드의 첫 번째 줄에서 우리는이 변수, $ VAR을 초기화
7이어야하고 우리는이 printf 라인을 가지고있는
안녕 말합니다 즉, printf VAR은 공백입니다.
Printf 우리가 PHP에서 물건을 인쇄 할 수있는 여러 방법 중 하나입니다.
자주 대신 printf의 사용 에코 기능을 볼 수 있습니다
하지만 printf 우리는 잠시 동안 C에서 코딩 된 것으로 익숙하고 있습니다.
당신이 실제로 할 수있는 것은 경우 복사 및 붙여 넣기 작업을 보자되어 있습니다.
이에게 해 줄거야.
우리는 기기에 다시 갈거야.
좋아요, 그리고 우리는 간다.
그리고 간격이 좀 희한하지만, 여기 우리는 간다.
여기에이 코드를 가져 왔어요.
>> [학생] 탭을에게 좋지 않은 스타일인가?
뭐라고 요?
[학생]를 탭을 할 종래입니까?
이 탭을 나 말거나 한 국제 대회면 좋아요, 그럼 샘 묻습니다.
일반적으로 그렇습니다.
이 경우 안하도록 선택했습니다.
솔직히, 다른 프로그래머들 사이에서 여러 가지를 볼 수 있습니다.
PHP는 일반적으로 HTML과 결합 된 자주 사용되는
와 다른 프로그래밍 언어 등 때로는 인쇄이 좀 희한 보
당신은 PHP의 시작과 끝 태그 내에 들여 쓰기합니다.
정말 따라 달라집니다.
이 경우 복사 및 붙여 넣기, 나를 위해에서 탭을 붙여 넣기하지 않았다
하지만 확실히, 당신 말처럼,이 명확하게 않습니다.
좋아, 당신은 dynamic.php에이 코드를 저장하는 경우
바로 여기가 어딘지 다음에 어떻게 당신이 할 수있는 것은 터미널 창으로오고있다
gedit에서, 그리고 컴파일에 상당 할 준비가 돼
확인 사용하고 C에서 코드를 실행
당신이 PHP 파일을 통해 수행 할 수있는 모든은 PHP 인터프리터를 시작한다는
PHP라는 작은 프로그램은, 누가
하고 인터프리터에 제공하는 인수는 해석하고자하는 파일입니다.
이 경우, dynamic.php.
이런, 내가 어디 뒀어요?
아, 제 9에 넣어 보니 여기 왔지. 그게 이유 죠.
>> 나는 다시 실행 지금 경우
우리는 처음 gettype 함수 호출에서 해당을 참조하십시오
var는 정수입니다.
다음 var에 문자열이며, 다음 세 번째 var에 불 있습니다.
우리가 돌​​아 스크롤하면 최대 우리가보고이게 무슨 재미있는 점을 발견 할 수 있어요입니다
이것들은 우리가 C. 만에 유사 유형입니다
우리는 C.에서 ints를했다
우리는 말하자면, C에서 문자열을 가지고
그래서 문자열은 의미에서 완전히 합법적 유형되지 않은
우리 CS50 문자열은 정말 무엇 이었습니까?
뭐라고 요? 미시?
[미시] 숯불 *.
그래, 우리가 사용하는이 숯불 *이었다.
학기의 처음에서 우리는 문자열 형식을 사용했다
하지만 정말 후드 아래에 숯불 *이었다.
PHP에서 이러한 문자열이 실제 유형입니다 반면, 우리는 단지 그것을 정의 입력합니다.
이 문자 * 타입의 물건 더 이상은 없습니다.
>> 당신은 우리가 문자열로 더 많은 일을 할 수있는 볼 수 있습니다
훨씬 더 쉽게 PHP에서 우리가 C에서 읽을 수있는보다
그리고 마지막으로, 우리는이 boolean 타입이 있으며, 여기에 큰 차이가 있다는 것입니다
우리가 돌​​아 아래로 스크롤하면 우리는 보게 이러한 유형의 이름
대신 지금 정수, 문자열, 부울 아르 INT와 BOOL,
당신은 서로 다른 프로그래밍 언어를 픽업으로,
당신의 삶에 어떤 시점에서 당신이 접촉되는 가정
다른 사람들은 이런 작은 쿼크를 발견합니다
C는 정수의 ints를 호출 곳.
일부는 정수 전화하십시오.
당신이로 실행한다고 다른 조건이 있습니다.
빅 INT 우리는 SQL 오늘날 보았다.
번호와 다음 논리, BOOL도 있습니다
이 차이를 모든 종류의.
>> 이 묘하게 아니지만 지금은 당신에게 약간의 주겠어 시간을
우리가 돌​​아 확대 있는지까지 3 페이지의 하단에이 운동을 통해 작동
이 유형의 아래에있는 여기이 값에 해당하는 것을 묻는 곳.
우리는 3.50를 갖추고 있습니다.
우리는 재미있는 바로 여기 일이 있습니다.
이 강의에 따라 다음과 된 경우 있지만 우리는 그 전에 보지 못
당신은 아마 이미 그게 뭔지 알아.
그런 다음이 펑키 한 종류 인이 있습니다.
당신이 인식하고 있습니다.
C이 무엇입니까?
샘? 이 C에서 당신을 한거야?
이 dynamic.php라는 파일을 열고 쉽게 읽을 수 있도록합니다.
그래, 우리는? >> 파일 스타에게 할당 것이라고 변수의 종류는 무엇입니까.
맞아요, 우리는 파일 별이를 할당합니다.
이건 너무 합법적 인 PHP입니다.
것을 실행합니다. 당신이 gettype에 통과 할 때 어떤 일이 벌어지는 지 참조하십시오.
그리고 또한이 PHP에있을 무엇을 널 (null)이 무엇인지 확인합니다.
내가 몇 분을주지.
당신은 말 그대로 복사하여 이러한 값을 붙여 넣을 수
그리고 우리는 당신에게 약간 무작위로 전화를 할거야
여러분의 재능을 참조하십시오.
>> [학생] 질문이 있습니다. << 예는.
강의 중 하나에 데이비드는 파일의 상단에 넣어 수있는 일이 뭔가있을 말했다
수 있도록 당신은 PHP의 모든 시간을 입력 할 필요가 없습니다.
무슨 일이야?
그는 아마 파운드 탕, 해시 뱅에 대해 얘기했다.
이 지시어 그게 네가 파일 실행 등을 표시하는 경우
이 파일을 실행 할 때 만약 잘못된 것은
이 쉘 프로그램을 알려줍니다
파일의 내용을 해석하는 PHP 인터프리터를 사용합니다.
이 특별한 라인 뭔지되는 질문
우리는 포함 할 필요가 없습니다 우리의 PHP 파일의 상단에 포함 할 수있는
우리가 파일을 실행하려면 때마다이 PHP 라인 또는 PHP 명령?
당신은 실제로 다른 파일들과이 작업을 수행 할 수 있습니다.
나는이 PHP 바이너리가 저장되는 위치에 따라 달라집니다 믿고
하지만 종종 usr / bin / php로 시작하는 좋은 장소입니다.
귀하의 어플라이언스로 되돌아으로 이동하여 정확히 알아낼 수 있습니다
그리고 알아 입력하는 PHP.
당신은 바이너리를 실행 할 때 어떤 명령에서 계산 한
또는 해당 파일이 명령.
이것은 PHP가이 이진 파일 정말 앨리어싱이라고, 나에게 말씀 하셨어
그는 시스템 바이너리 많은가 설치되어있는 곳입니다 USR / 빈에 저장되는 파일입니다.
예를 들어, 지금 나는 #이 넣어 한, 상단에 스크롤하면! 여기에 선
나는 아래로 스크롤 할 수 있으며, 내가 도망을 할 수 있습니다
dynamic.php,하지만 난 권한이 거부되는에 대해이 오류를 얻을
과 그 의미는이 파일이 현재 실행 권한을 부여하지 않는 것입니다.
그것은 누군가가 실행할 수있는 파일로 표시는되지 않았습니다.
>> 당신은 만들거나 꽝을 실행하고 당신은에서 실행했을 때
컴파일러는 이봐, 나도 실행 파일을 만들거야 알고있을만큼 똑똑했다.
당신은 아마 그것을 실행하려면, 그래서 자동으로 구성 것
당신을위한 권한.
당신은 처음부터 정상적인 파일을 만들 때이,하지만, 그렇지 않습니다
그 이유는 일반적으로 귀하의 시스템에 어떤 파일이하지 않으려하는 것은 실행 가능
그래서 당신은 실제로에 가서 수동으로해야합니다.
그렇게하는 가장 쉬운 방법은 chmod를 명령과 함께
그리고 chmod를 + X는 실행 비트를 추가 말합니다
읽기 비트, 쓰기 비트 및 실행 비트가 있기 때문에
R, W 및 X,
그리고 chmod를 + X를 말하는 것은 실행 비트를 설정합니다
우리가하는이 경우에 dynamic.php 될 것 지정한 다음 파일을.
>> [학생] 그 모두 설정되어 있습니까?
자, 그래서 내가 어떻게 권한을 확인 것, 이것 좀 봐?
내가 파일의 사용 권한을 확인 방법을 알고 계십니까?
[안 들리게 학생 응답]
뭐라고 요? >> [학생] XSD.
XSD 우리에게 해킹에서 파일을 제공합니다.
모든 파일 - 나를 나열하는 내 디렉토리에 저에게 모든 파일이 표시됩니다
종류의 오랜, 자세한 정보에의, 그래서 여기에 우리가 보는 그
이 dynamic.php 파일
마지막으로 오후 4시 21분 11 월 5 일 바뀌 었습니다.
이 파일의 소유자가 jharvard 있습니다.
그래서 로그인 한 사용자의
즉, 제가하고 있어요 사용자의
귀하가 어플라이언스로도 있으면 있으며 사용자 jharvard로 최선을 다하고 있습니다.
당신은 학생 그룹에있어
이러한이만큼 자주 볼 수있는 게 있습니다.
>> 우리는 여기에 세부 사항이 많이 들어가서
하지만 대부분의 당신이 볼 수 찾을 때보고 싶은
파일이 있는지 여부를 실행 파일은 주로
파일을 소유하고있는 사용자, 소유자,
우리가 그때는이 jharvard하고,
왼쪽에 여기에 권한 비트,
이를 읽을 수있는 방법은 그 마지막 비트
일반적으로 적어도 여부 - 지금 경우에 표시하는 데 사용됩니다
이 마지막 비트는 종종 표시 광고에 설정됩니다
파일은 디렉토리와 단지 일반 파일입니다.
여기에 다음 3 비트
파일의 소유자가 가지고있는 권한을 결정
그래서이 경우 jharvard에 파일의 소유자로서,이 파일을 읽고 쓸 수
하지만 jharvard이 파일을 실행하지 못한다는 대시가 있습니다.
다음 3 비트는 그룹에 있으므로,이 학생 그룹
내 어플라이언스에 여러 사용자, 거기 있었다면
우리는, 학생 그룹의 일부로 여러 명의 사용자를 가지고
그리고, 그들 모두는이 파일을 읽을 수 있지만, 그것을 쓸 수
와 마찬가지로 다른 사람, 세계
만도이 파일을 읽을 수 있습니다.
이에 대한 좋은 긴 writeup가 있어요
그래서 당신은 온라인으로 읽을 수 있습니다.
문제 세트 사양에서 우리는 더 자세히이 일에 이동합니다.
>> [학생] 218 세계에 추천 있나요?
218 - 오프되어 내 머리의 맨 위에 나는 잊지 않을거야
하지만 안돼.
어디 봅시다. 난 지금 그런 일에 블랭킹하고 있습니다.
다시 우리가에 대한이 chmod를 + X로 할 어땠는지
우리가 dynamic.php 실행 권한을주고 싶었던 곳,
그리고 질문이 모두에게 실행 권한을 부여할지 여부 또는 아니라
또는 jharvard합니다, 우리는이를 확인할 수 있습니다
명령을 실행하고 LS-리터를 입력,
지금 우리는 그것이 실행으로 표시된 것을 볼 수 있습니다.
당신은 색상을 변경이 있었다고 것을 볼 수 있습니다.
지금 dynamic.php은 녹색으로 표시됩니다
하고 무슨 샬롯있는 질문에 대한 답변처럼 보이지 않아요?
[샬롯] 만 jharvard. >> 만 jharvard, 그래.
>> 우리는 모두에게에 실행 비트를 설정하고자 할 경우
어떻게 그렇게 우리가 할 일은 있을까요?
어떤 생각? >> A + X?
네, 맞아요.
샬롯은 우리가 dynamic.php의 + X의 chmod를 할 수있다
우리는 LS-리터를 실행하면 지금 우리가 보는 그 실행 비트
실제로 모두 설정됩니다.
그리고 당신은 실제로이 역을, 그래서 당신은 모든 사람들을 위해 해제 할 수 있습니다
마이너스을 사용합니다.
지금이 꺼져있어 이제 우리는 jharvard를 위해 다시 켤 수 있습니다
그래야 우리가 실제로 지금 실행할 수 있습니다
우리가 #이 특별한 코드를 실행할 때와 지금은 볼! 상단에있는 선,
#! 라인은, 쉘에게
이 파일이 실행될 때, 어이 우리 터미널을 말했다,
이 파일을 해석하는 / usr / bin / php로를 사용하여
다음 출력을 인쇄 할 수 있습니다.
[안 들리게 학생 질문]
물론, 내가가 다시 스크롤 보자. 지금처럼.
당신은이 지침의 모든 느낌표 다음이 파운드로 시작하고 볼 수 있습니다
때때로 다 말야, 해시 탕 소리를했다.
>> [학생] 우리가 실행하기 전에 우리가 어떻게 PHP는 dynamic.php 함께 실행할 수 있습니까?
질문은 어떻게 우리가이 PHP 바이너리를 사용하여 실행할 수 있습니다이었습니다
dynamic.php가 실행되지 않습니다 줄래?
이 정확히 때문에이 최고 중요합니다
이런 문제 세트 7을 쓸 때 일 겁니다.
시간 PHP 파일의 대부분은 직접 실행되지 않습니다.
이 실행 파일입니다 PHP 바이너리이기 때문에 작동 방법입니다.
통역사는 실행중인있어 일이
그래서 무슨 일이하는 일은 말 그대로 전체 내용에 slurping 수 있습니다
우리 dynamic.php 파일과 선으로가는 라인
그리고 그 명령을 실행하기 때문에 우리의 PHP 파일을 쓰고
지침의 목록 있습니다.
그것은 직접 실행 않아.
우리가이 파일을 런타임에 해석되는 말 곳이야.
그것은 대신 컴파일 시간에 결정 무언가의 런타임 언어입니다
C. 같은없는 컴파일 된 언어
>> 이 컴파일 시간 언어라도 역할을 런타임 언어를 얻을 수있는 방법은 있습니까
당신은 서버에서 수행하는 모든 실행이있는 경우 좋아
보다는 - 당신은 내가 무슨 말인지 알지?
예, 문제는
더 많은 언어의 컴파일 시간이 유형처럼 행동 할 실행 시간 언어를 얻을 수있는 방법이 있나요?
그리고, 내 말은, 연구의 활성 영역은 이러한 회사의 많은에이됩니다.
나는 페이스 북이 PHP와 함께 많은 일을 수행했다고 생각
하고 내려 컴파일이보다 빠른을 최적화
자신의 사이트가 PHP에 내장 때문입니다.
당신은 전혀 node.js에 따라받은 경우는,
이는 자바 스크립트 인터프리터의 종류입니다
웹 브라우저의 외부, 브라우저의 외부 자바 스크립트를 실행 할 수 있도록하여,
전통적으로 자바 스크립트는 Firefox 나 크롬의 내부 실행하기 때문에
그리고 그것은 멋진 애니메이션이 웹 페이지에 발생하기 위해 사용됩니다
귀하의 웹 페이지가 동적합니다.
그는 Google가 한 많은 작업을 기반으로 된
자바 스크립트와 C를하기 위해 + +
함께 구속에 적극적 많은 조사가 있으므로
이러한 언어를 상호 작용 및 최적화하게
많은 사람들이 PHP와 자바 스크립트로 코딩 할 수 있습니다 주로하기 때문에
이 많이 쉽기 때문입니다.
그것은 많은 보이는데. 당신은 포인터가 없습니다.
당신은 주위에 떠있는 형식이 없습니다.
그들은이 컴파일 시간이 언어의 장점을 얻기 위해 원
유형 검사 및 속도와 낮은 메모리 사용량과 그 모든 모두 포함
여전히 유연성과 이러한 새로운 것들의 사용의 용이성을 유지하면서.
>> 다시 공격 우리의 원래 계획합니다.
우리는 우리의 문제 설정 사양에 여기에 질문을 몇 가지있어.
진짜로 신속하게 통과, 우리는 방 주변을 둘러 드리겠습니다.
샬롯, 무슨 유형은 3.50인가?
[샬롯] 그건 두 번입니다. >>는 더블입니다.
지미,이 다음 무엇인가요? 배열을 >>.
배열, 멋진, 그리고 제라드, fopen은 무엇입니까?
[제라드] 그건 자원입니다. >> 그건 자원입니다.
이건 새로운 하나없는 파일 별이 아닌 파일의 종류입니다.
그것은 리소스가 PHP의 유형입니다
내가 미안 해요, 엘라, 마지막 null은 무엇인가?
NULL.
null은, 어떻게 PHP에 있죠? 같은 방법으로 >>.
같은 방법은 수도? >> 그래.
응, 알았어.
우리는 간다, 우리는 두 번이 있고, 우리는 배열이 있어요
우리는 자원이 있고, 다음에 우리가 널 (null)이있어.
보자은 지금 당신이 본 -이
어디 보자, 그래서 지금 내가 또 뭘 원하는지 추측가 뽑으면
여기에이 웹 페이지와이 php.net / 설명서,
니네 이거를 복사, 그리고 웹 브라우저를 엽니 다. 이렇게하면
제가 크롬을 당길거야, 응답 쓴
난 당신을이 아니라 보여주고 싶어 때문에
우리는 유형에 대해 하루 종일 이야기하고 그 재미있는 것들을 할 수
오히려이 PHP 매뉴얼, 때문에
와 PHP 프로그래머가 많이 밖에 있습니다.
거기에 PHP 웹 사이트의 많은이 있습니다
그 결과로, PHP에서 문서 중 많은 것들이 있습니다
그리고 수동,이 php.net, 시작하기 좋은 장소입니다
당신은 어떤 PHP에서 X를 수행 할 수있는 최선의 방법에 대한 질문이 발생하는 때마다
무엇을 함수처럼 보여?
이 때문에 어떻게 생겼는지에 익숙 받고, 그냥
당신이 자주 올거야, 문제에 대한 비트 7을 설정할 수 있습니다.
>> 당신은 PHP를 사용하는 최종 프로젝트를하고 결국 경우
여러분이 잘 알고 지내는 사이가됩니다 장소가 될 것입니다.
종종 사람들이이 작업을 수행하는 방법은 Google이 사이트를 검색하는 데 사용이며,
그리고 그들은 작은 어떤 종류의 오른쪽 상단에 여기 있어요 검색 창을 사용하지 마십시오.
당신은 PHP와 함께 할 수있는 뭔가 주위를 검색해하고 있으며 표시되는 경우
매뉴얼 링크 중 하나는 일반적으로 해당에 의존 할 수 팝업
상당히 좋은 리소스로.
굉장 그러니 이런 종류의, 그냥 궁금해서 묻는 건데,
어떤 사람들은 못 봤어요?
우리가 보지 못 있나요?
[학생] 리소스. >> 우리는 fopen 전화로 리소스를 보았다.
[학생] 객체. >> 개체 우리가 확실히 못 봤어.
콜백 우리가 지금까지 본되지 않았습니다.
이러한 의사 타입의 일부가 있습니다.
우리는 확실히에만 정수와 더블 보았다.
우리는 다른 사람의 일부를 보지 못했다, 그래서 우리는 정수를 클릭하면
우리가 그들이 여기있는 모든 다른 정수 아르 볼 수 있나요?
그들은 정수, 정수, 모든 있으므로 정수입니다.
일부 언어는 큰 정수 유형이
오늘은 우리가 MySQL을 보는 것 같았 INT 후 큰 INT 있었다.
좋아.
>> 따라서, PHP 매뉴얼.
이 우리의 문제 세트 사양으로 돌아가서, 우리는 지금 4 페이지를 아래로 스크롤하여 드리겠습니다.
해당 언어를받을 때 발생하는 것 중에 하나
이 정적 타이핑을하지 않도록하므로 선언해야 이러한 언어
변수까지 프런트의 종류
당신은 다른 유형의 변수를 가지고 시작 할 수있는 곳이 사건들에있다
서로 상호 작용,
그리고 PHP는 어떻게하려고이 일을 수행
이 할 수있는 가장 현명한 일이라고 생각 무엇
당신은 2 개의 다른 종류가 서로 상호 작용이있을 때.
예를 들어, 우리는 여기에 코드의 다음 행에 보면
당신은 우리가 언제 무슨 일이있어 알
우리는 시도하고 정수 2 문자열 1을 추가합니다.
우리는 숫자 값이 아닌 문자열을 시도하고 추가 할 경우 어떻게됩니까
오히려 실제 문자, 숫자 50 CS?
그럼 우리가 볼 일이 다른 일이 있습니다
대신 우리가 문자열로 숫자를 추가 번호로 문자열을 추가,
등 등등 우리가지고있어 지점
우리는 7 + 사실이있어 여기에 이​​상한 어떤 종류의.
그 대체 무엇을 의미합니까?
>> 너희들이 가서 어플라이언스에이 코드의 일부를 붙여 넣기합니다.
당신은 dynamic.php에서 할 수 있습니다.
우리는 어떻게 볼 수 있습니다.
[학생] 바로 인쇄하지 printf를 사용할 수 있습니까?
그래, 당신은 인쇄도 PHP에서 인쇄에 대한 올바른 기능입니다 찾을 수 있습니다.
그렇게하고 여러 가지 방법이 있습니다.
우리는 나중에 우리가 이야기 시작하면에있는 예제를 몇 개 볼 수 있습니다
우리가 쓸 계획하고있는 고유의 문제에 대한
우리가 쓸 거라는 생각하고 농도 문제
우리는 fopen과 fclose를하더라도
이런 일이 자주있는 파일의 내용에서 읽을 수있는 간단한 방법 없습니다.
PHP는 이러한 C-같은 holdovers의 많은 계획을 가지고 있다고합니다.
[학생] 내가 만 출력 한 가지 번호를 그 모든 일 6 넣었을 때.
[네이트 H.] 당신이 이런 것들을 모두 6 넣었을 때.
이 그랬다고 때문 보자는 것입니다
하나는 이러한 인쇄 전화가 새로운 라인의 끝에서 종료하지 않는 것입니다.
더 새로운 라인이 인쇄 통화 각각이 분리 없어요
아마 당신은 하나의 큰 번호를지고있어
그리고 정말 새 줄 문자 중 아말감입니다.
[학생] 좋아, 내가 어떻게해야합니까 확인 -
음, 다른 방법의 무리가 있습니다.
당신은 수동으로 새 줄 문자의 인쇄에 넣어 수 있습니다
새 줄 문자의 에코,
새 줄을 인쇄 할 수 있습니다.
[학생] 지금 에코는 printf와 같은 일이?
>> Printf printf와 같은 C는
어디서 형식의 문자열을 인쇄하고 있습니다.
당신은 할 형식 문자열 후 모든 자리 표시 자 변수를 제공하고 있습니다.
그것은 자주 사용-되지 않습니다 뭔가
, 포기로, 보자
내가 다른 웹 언어와 저보다 PHP와 덜 익숙
내가 PHP에서 프로그래밍했을 때 나는 일반적으로 printf 사용하지 않습니다
내가이 가진 문자열 보간 기능이 사용하기가 더 빨리 찾을 수 있기 때문에
우리는에 갈거야 그리고 난, 잠깐 당신을 보여주지하는
C에서 우리는 가지가 제대로 인쇄하게이 hacky 일을해야합니다 반면.
당신은 실제로 PHP에서 문자열에 직접 변수를 넣을 수 있습니다.
Printf 나는 보통 무엇에 대한 너무 긴 종류의 것입니다. 예, 엘라.
[엘라]이 (가) 당신이 구문 분석 오류가 발생하는 경우 일반적으로 그 무슨 의미인가요 -
실수는하고 정확히 어떤 곳 C에서처럼 당신을 말하지 않는다
그래서 귀하의 전체 코드를 통해 모습을 의미하고 알아 내야합니까?
그것은 일반적으로 그 이상의 대상입니다.
내 말은, 그 경우는 약간 생각
그래서 그 경우에 우리가 세미콜론이 누락 된 것.
그것은 모든 이해하려고했던
따라서 이러한 해석 언어와 같은 인터프리터 시도는 것입니다
적절하게 모든 작업을하기 위해 최선을 다하겠습니다.
>> 당신은 자바 스크립트에서 예를 들어, 볼
주지 자주 줄 문장들은 PHP에서와 마찬가지로 세미콜론으로 끝,
그들은 C.에서와 마찬가지로
자바 스크립트에서 자바 스크립트 인터프리터의 일부
브라우저의 많은 당신을 위해 세미콜론에 넣어 것입니다
당신이 그들을 누락되는 일 경우.
그들은 당신의 부분에 어떤 sloppiness에 대한 시도하고 수용 할 수 있습니다.
그 노력과 시도와 일 일하기 위해 노력 될 수있는 곳입니다
괜찮아요 답하고 결국은 지점에 도착합니다
나는 일이 가버 릴에서 작동 할 수 없습니다, 당신은 줄 번호를 얻을 장소에요
그 정확한 장소에서 약간 보일 수 있습니다.
좋아, 그럼 진짜로 빨리이 일을 가자.
우리는 엘라를 그대로 있으니, 미시로 가자고,
와 미시는 스트링 1 플러스 번호의 인쇄가 2 뭘 알 수 있나요?
[미시] 3. >> 3.
그게 말이나 돼? 대충?
당신에게 전화 번호를 알려합니까? 당신에게 문자열을 제공합니까?
[미시] A 번호. >> 그건 숫자입니다.
그러나 그것을 인쇄거야, 그래서 당신에게 문자열의 어떤 종류를 제공거야.
>> 우리가이 일을 확인 할 수있는 건 한가지
그게 우리가하면은 $ var = 1 + 2
그리고 우리는 gettype의 반향 말을
그래서 우리는 여기에 인쇄의 세 번째 종류를 사용하고 있습니다.
이제 우리는 여기서 무슨 일이 일어날 지 알 수 있습니다.
여기에 우리가 가진 건 우리가이의 정수를 가지고 있습니다.
우리는 숫자로이 문자열을 추가했다하더라도
우리는 미시 말처럼 그것의 문자열을 못 했어.
우리는 정수를 받고 있었다.
좋아요, 그럼, 다음, 어디 케빈을 보자.
CS + 50? >> [케빈] 50.
[네이트 H.] 50. 그게 말이나 돼?
[케빈] 그래요.
[네이트 H.] 이유는 무엇입니까? 왜 당신에게 이해가 무엇입니까?
[케빈] 그냥 숫자 값 제로를 가지는 문자열을 가지고 있어요 때문입니다.
네, 좋아.
모호한 상황의 종류,하지만 어떤 일이 일어나는지에 대해서 아는 것은 좋아.
숫자 1 + 문자열 2 다음 어떻게 스텔라?
[스텔라] 3. 다시 >> 3.
그리고이 경우에, 우리는 문자열이나 숫자를 어떻게해야합니까?
>> 이 시도가 드릴께요.
제가 답변을보다 더 빨리 사람은? 샬롯?
오, 난 전혀 그래, 어디 보자, 우리는 이런 일 이와 같은 작업을 수행 할거야
어디에서, 우리는 갯수에 문자열이 있고, 우리는 유형을 반향 할거야
우리가 뭘 참조하십시오.
우리는 또한 정수를.
그것은 하나 하나가 번호입니다 문자열입니다 중요하지 않습니다.
우리는 여전히 정수를받을거야.
아직 우리가 예상 할 일 겁니다.
좋아요, 그럼 샘, 어떻게 90 + 벽에 맥주 9 병?
[샘] 99. >> 99.
하지만 벽에 맥주의 어떠한 병 없습니다.
그것은 우리에게 무슨 일이 일어나고 있는지에 대해 좀 더 많은 정보를 제공합니다.
당신은 편지 9을 작성했는데 [샘] 경우
다음 바로, 90를 가지려고하지?
[네이트 H.] 그래.
우리는 N-I-N-E로 구를 작성하려는 경우 질문은
우리는 99 또는 90 같지 않아?
우리는 90 겠어요.
그것은 말 그대로 그냥 자리 문자를 찾고있어.
이 번호 단어와 그 물건을 인식 할 수있을만큼 현명하지 못하다 네. 예.
>> [학생]를 PHP에서 typecasting과 같은 일입니까?
가이며, 정확하게는 C로 할 것이다 방법
어떤 샬롯, 4 / 7?
[샬롯] 1.4285.
[네이트 H. 그래, 이것에 대해 놀라운 일 수도 그래서?
당신이 C에서 이런 일 이와 같은 짓을하면 어떻게, 무슨 일이 일어날
당신은 C에서 10 / 7 그랬다면?
[샬롯]는 단지 당신이 내 생각 typecasted 방법에 따라 줄 거라 -
당신에게 소수점 뒤에 숫자 만 제한된 수의를 제공합니다.
네, 소수점 뒤에 숫자가 너무 제한된 수의.
뭐 다른 건 될 수있는 것은 소수점 이후에 당신에게 어떤 자리를 줄 수 있을까요?
종종, 그래서 다시 당신이 그것을 typecasting하는 방법에 따라 수 없습니다
그 또는 부동 소수점 숫자로 변환하지 않을 수 있습니다.
여기 그것이했다는 좋은 사람 이었어요.
우리가 C에서 물건을 이런 종류의 일을 시작했을 때 우리는 당신에게 다시 냈다
아마도 좀 더 이해 한 것
그냥 1로 이동하지 않습니다.
그리고 마지막으로, 제이미, 무슨 일 + 7 사실이야?
[제이미] 8. >> 8.
그게 무슨 뜻 이죠?
난 단 1의 가치를 진정한 제공 같아요.
그래. 우리가 false로하는 변경하면 어떻게됩니까?
[학생] 7.
네, 우리가이 바이너리 값에 대해 이야기 어디서 기억
1,에되는 0에서 생각해?
이제 사실은 1이, 0은 거짓
그리고 당신은 우리가 지난 학기 수행 한 C 예제에서 봤어하지 않을 수 있습니다
하지만 역사적으로 C에서 BOOL 타입은 실제 유형 않았다
그래서 사람들은 진실과 거짓의 자리에 0과 1을 사용했습니다.
이것은의 발현입니다.
>> 좋아, 그럼이 모든 일에 대해서 한 가지 중요한 부분
우리는 서로 다른 유형이 있다는 것입니다.
그들은 서로 상호 작용할 수 있습니다.
종종 우리가 본대로, 좋은 방식으로 서로 상호 작용할 수 있습니다.
그것은 문자열 1과 숫자 2가 있다고 함께 추가 3을받을 수 있도록 좋은 데요.
그 말이 있습니다.
그러나 웹 사이트를 작성하고, 특히 때 당신은 처리 중
사용자 입력, 그래서 당신은 웹 양식을 작성한 말
사용자의 정보를 수집 한 다음 처리에 가서
뒤쪽은 귀하의 PHP 코드에서 서버 측에
당신은 사용자가 입력 및 제출이 값을 기대하는 경우
양식에 정수하거나 부동 소수점 번호 또는 그런 식으로 뭔가있을
당신은 명시 적으로 캐스팅해야합니다
그리고 어떤 종류의 검사 해.
>> 당신은 그냥 일이 잘 수 있도록이 타입 저글링 시스템에 의존하고 싶지 않아
특히 보안상의 이유로 및 당신의 웹 사이트의 견고성하십시오.
염두에 두어야 할 뭔가를 당신이 폼 데이터를 처리하는 때마다
게시물 또는 가져 오기 전역에 제공 아무 것도
당신은 항상 그것을 확인하고 그것을 변환하고 고정 된 배역 있는지 확인하십시오.
그리고 우리는 typecasting 전에 잠시 얘기를 한 것
당신은 괄호가있는 PHP 정확히 C에서와 동일합니다
다음 입력합니다.
염두에두고세요.
당신이 이런 짓을 할 때 유용합니다 하나의 함수
로 우리는 사용 및 봤는데이 가지입니다 - 옆
우리는 바로 여기 gettype 함수를 사용하고
, 변수의 타입을 알아내는 방법
이 디버깅에 유용하며, 변수의 타입이 뭔지 확인하면서
당신은 상태로, 예를 들어이,를 사용하지 않는 곳
당신은 $ var = 정수의 gettype 뭔가를하는지 확인하고 있습니다.
이 나쁜 나쁜 것입니다.
대신에이 정수이라고하는 기능입니다 문자열입니다,
대신 사용할 배열은이 경우에 따라서입니다
내가 여기이 사람 대신하고 싶어할지
이 정수 VAR이 사용됩니다.
그리고 종종, 당신은 정수로 *를 대체 할 수 있다는 점에서 is_의 *이 참조하는
문자열, 기타 등등, 그리고 정말 빠른 있는지 확인
이 정수 PHP입니다.
당신이 할 수있는 것 같아요 중 INT거나뿐만 아니라 정수가 무엇입니까?
네, 별칭, 그래서 int는 정수 별칭.
좋아.
>> 우리가 어떻게하는거야?
가 속도를 좀 가져 보자.
당신이 볼 수 있듯이 이제 우리는, 그래서 배열에 대해 이야기 할거야
사양의 다음 부분에서 우리는 PHP에서 어떻게 배열에 대해 이야기
그들은 C.에보다 약간 다릅니다
사실, 그들은의 아말감 것 같은데
당신이 C에서 알고 사랑하게 한 배열
모든은 같은 종류의입니다
메모리에 연속적으로 그리고 contiguously 저장
그리고이 숫자 인덱스가 있습니다.
당신은 인덱스 0, 색인 1, 인덱스 2 있습니다
그리고 당신은 인덱스에 값을 저장합니다.
당신은 도전자 쓴 C, 당신들 중 많은 사람의도
해시 테이블 접근 방식을 한, 당신은 우리가 있다고 본
우리가 매핑 된 저장 장치의 다른 종류의
값에 키가 있으므로 해시 테이블에서 뭔가를 저장하려고 할 때
당신은 당신이 특정 키를 저장하고 싶어 지정했다
그 키는 값의 위치와 위치가 저장 될 결정.
당신은 가지, 그 개념이 모두 PHP 배열에서 같은 시간에 일어나고있어
그 결과로, 우리는 자주 이러한 연관 배열을 호출
어디 우리는 값에 키를 연결하고 있습니다.
이 다음 부분에서 우리는 간단한 PHP 배열에 대해 이야기
우리는 A, B 및 C를 열쇠를 가지고있는
모든 문자열은 정수 1, 2에 매핑하고, 3.
그리고 당신은 다른 유형의 키를 가질 수 있습니다.
>> 당신은 문자열, 정수 일부 키 일부 키를 가질 수 있습니다.
당신은 다른 유형의 값을 가질 수 있습니다.
당신은 문자열입니다 값 정수입니다 값을 가질 수
개체 또는 다른 배열 값, 예를 들어,
모두 동일한 배열 객체에있는 좀 이상해.
당신은 거기에 요소의 한 가지 유형을 가지고 배열을 할 필요가 없습니다.
당신은 많은 다른 것들을 거기에 무슨 일 수 있습니다.
주의 다른 점은 당신이 코드에서이 같이를 참조 할 때입니다
어떤은이 같은 배열, 0, 1, 2, 3, 4, 5를 선언하는 유효한 PHP입니다
그이 배열로 초기화 $ 도착지를 선언합니다.
하지만 당신이 실제로 후드 아래에지고있어하는 것은 암묵적 이런 종류의 것입니다
3 우리는 1을 0으로 0, 1,있어 키 2​​ ~ 2, 3 세대.
그리고 당신이 할 경우에도가 여기이 사람처럼 배열을 가지고 밝혀
당신은 키으로 A, B 및 C가있는 곳
그리고 당신은 스택처럼 배열을 사용하려면 배열 푸시 방법을 사용하여 시작
그래서 당신은이 배열 개체를이 배열이 정말 과부하되어 버리는 것을 볼 수 있습니다.
우리는 배열로 사용할 수 있습니다. 우리는 해시 테이블로 사용할 수 있습니다.
우리는 스택으로 사용할 수 있습니다.
이 배열에 물건을 밀어 시작할 때
이에 밀어 우선 인덱스 0 다음 색인 1 색인이 될 것입니다.
당신은 키의 암시 적 생성의이 종류를 얻을 수 있습니다
당신은 명시 적으로 지정하지 않는 한.
당신이 명시 적으로 키를 지정하는 방법은 물론,이 브래킷 표기법을 사용하는 것입니다
하는 대신 만 허용을 제외하고 배열과 비슷합니다
여기에 정수 인덱스, 지금 우리는 아무 것도 할 수 있습니다.
귀하의 키 문자열하려는 경우,이처럼 지정합니다.
당신이 정수가 될하려는 경우, 당신은 사용하고자하는 정수로 지정합니다.
>> 그 지금까지의 질문이 있으십니까?
이 아이디어에 대한 좋은 것들 중 하나
만 어느 특정 키를 사용하여 저장된 하나의 값을 가질 수 있다는 것입니다.
우리는 우리에 다시 가면 내가이 물건 중 일부를 삭제 어플라이언스 보자.
그리고 우선은 내가 할 일은 0, 1, 2, 될 수있는 배열을 초기화 말한다.
지금 알고있는 경우 즉, 예를 들어, 나는 $ 도착지 [0] 에코 경우
나는 값 0 출력 가져다 드리죠
만 어느 특정 키에 저장된 하나의 값이있을 수 있기 때문에
나는 도착지 $에서 뭔가를 저장하는 경우 [0], 말
난 [0] 다시 도착지 달러를 반향 할 때 알
나는 이전처럼 출력 0을 얻을 않을거야.
전 단지를 얻을거야.
그래서 기본적으로 제가 $ 도착지 [0] 저장이 다른 값을 가질 수 없습니다 답니다.
이 대체 문자 그대로 같이 0과 문자열을 모두 저장할 수 없습니다
무슨 일 [0] 이전에 도착지 $였습니다.
나는이 일이 그것을 실행 가져 이유는 무슨 일이 참조하십시오.
나는 0 출력 한 후 여기로 받았 여기를 참조하십시오.
가 제가 게으른했기 때문에 더 새 줄이 없어 그 인치 뭔지 잘 모르겠 더라
이게 무슨 일 멋지다 것은 우리는 방법으로 사용할 수 있습니다
세트의 아이디어를 캡처하려면
우리가 어디에 배열에서 여러 키를 가질 수 없습니다.
우리는 배열 내에서 동일한 키를 가질 수 없습니다.
나는 키 0 값을 1 키를 0과 가치를 가질 수 없습니다
또는 키 0 값이 true.
키는 모든이 배열에 1 개의 키가 하죠.
당신은 저장되어있는 같은 값을 가질 수 있지만
다른 키 아래의 배열에 여러 번
당신의 PHP 배열에 동일한 키를 여러 번 할 수는 없습니다.
>> 우리가이 다음 문제를 보면 unique.php,
우리는 PHP 파일을 열어 원하는 곳
문자열의 목록을 한 줄에 하나씩 문자열을 포함하는
그리고 우리는 그 파일에 고유 한 문자열을 모두 찾으려면
우리가 할 일은이 PHP 배열 중 하나를 사용하고 있습니다
이 배열에 키로서 파일에 문자열을 사용
우리는 이러한 새로운 키를 저장으로 우리의 배열을 업데이트 유지.
우리는 파일의 각 줄을 읽을 때 우리는 배열에 저장할 수 있습니다
그리고 마지막에 우리는 우리의 배열에의 키로합니다
파일 내의 고유 한 문자열의 모든.
그게 말이나 돼?
가 어떻게 작품을 보자.
우리는 사양에 따라 개방 할거야, 새로운 파일 unique.php을했다.
엽니 다. 죄송합니다, 죄송합니다, 새로운 파일을 만듭니다.
우리는 같은 시작과 끝 태그로 시작거야.
우리는 제 9에 저장하려고하고 있으며, 우리는 unique.php 전화거야.
자, 이제 확대
여기 아이디어는, 파일을 열 수 있습니다
라인으로 파일 라인에 읽어보십시오.
파일의 각 줄에 대해
우리가 어디에서 우리는 배열을해야합니다
우리의 키와 줄입니다.
그리고 우리는 여기에서 죽을 때가되면
$ 도착지의 키는 고유의 선입니다
파일에서 우리가 아는부터 내가이 배열로 라인을 넣어하는 경우
여러 번 단지, 기존의 가치를 재정의 유지됩니다
자체는 그냥 원하는대로 우리는 실제로에 배열 라인을 넣어 수 있습니다.
>> 이 좀 이상해.
우리는 다시 이상 이상 이상 같은 키 값 쌍을 저장하는
하지만 우리는 선이라는 단 1 키가 될 것이라고 보장되어 있기 때문에
우리는 말합니다 - 파일 동물 소리의 파일을 가지고 있으며 으릉 으릉을 가지고 있으므로 경우
야옹, 야옹, 음매하고 울다, 음매하고 울다, 각 시간은 우리는 동물 소리를 읽어
씨처럼 우리는 다음 두 번째 우리가 씨를 우리의 배열에 저장하고,
우리는 우리가 그것을 저장하는 첫 번째 시간을 덮어 쓰게됩니다 으릉를 저장합니다.
결국 우리는 배열의 하나의 항목이됩니다
우리 동물 소리 파일의 동물 소리의 각.
너희들은 PHP에서 파일의 개통을 해결 할 수 있다고 확신 느끼십니까?
할 수있는 방법 중 하나를 - 가자 할이 신속하게 - 편도 가서
우리가 이전에 본 것처럼, fopen있는 것입니다.
당신은 fopen은 some_file.txt 수 있습니다.
당신은 C.에서처럼 읽기 모드로 열 수 있습니다
그 정도면 한 완벽하게 좋은 방법입니다.
당신도 다음 라인으로 파일 라인에 읽을
C.에 당신이 한 그 많은 동일한 기능을,이
당신은 fgets 있습니다.
우리가 사용 안 좋아하지만 당신은 feof이
때문에, 그게 C.에 좋지 않았다는 기억
당신은 그것을 같은 방식으로 할 수 있습니다
하지만 여기가 정말 재밌어.
죄송합니다, 내가 파일 $을 할 싶지 않아,하지만 PHP에서 파일을라는 기능이 있습니다
그 전체 내용을 읽고 있기 때문에이 기능은 여기에 멋
당신은, 그래서 some_file.txt 지정하는 파일의,
배열에이 파일의 전체 내용을 읽
다음 아주 멋진입니다, 그 위에 반복 할 수 있습니다.
>> 우리는 우리의 웹 브라우저로, 예를 들어, 가면
우리는 PHP 파일을 Google에서 찾아
당신은 우리의 수동이 파일을 배열로 전체 파일을 읽고 말하고 여기를 볼 수 있습니다
우리는, 문자열로 파일의 내용을 반환하는 file_get_contents 수
하지만 일반적으로 그냥 배열로 발생하는 것은 그것이 무엇 때문에 정말 좋은
그렇게 그것을 분할되는 각 요소
배열에서 파일의 한 줄은,
우리가 파일을 0에서보고 있다면, 그 파일의 첫 번째 줄입니다.
파일 1, 두 번째 줄, 파일 2, 세 번째 줄, 등등 등등.
그게 당신이 C에서해야 할 일을했을 뿐이 었어요 경우는 것도 좋지 않을까?
아주 멋진.
데이비드는 강연에서이 작업을 보여, 그가 보여 관용구였다
루프에서 PHP에 대한 표준뿐만 아니라 우리가 가지고 그
에 대한 ($ 내가 = 0; 나는 <10; 전 + +),
그리고 당신이 너무 PHP에서이 작업을 수행 할 수 있습니다, 같은 일 -
우리는 또한 foreach라는이 멋진 구조를 갖추고 있습니다.
배열하거나 데이터 구조를 통해 반복 할 때 Foreach 정말 편리합니다
당신이 배열의 각 요소를 뽑아 할 수 있기 때문
수동으로 색인을 생성 직접 작업을 수행 할 필요없이,
수동으로 인덱스 변수를 생성 할 필요없이 이것을 증가
그 할 아주 흔한 일이기 때문에, 그 시점에서 배열의 값을 당긴다.
>> 당신은 아마 짓을 한 당신이 C에 물건을하고 있었 회 t
학기 이상,이 foreach와
우리는이 파일 배열 이상 루프 수
그리고 문법은 우리가이 배열 이상 지금 루프로 할 수 있습니다
그리고 우리가가는 변수는 저장하는 데 사용할 것을 지정
이 foreach 루프의 범위에 로컬 지역이 배열의 요소,
우리는 선 전화를하고있다.
그냥 단어의 파일이며 한 줄에 하나의 단어가있는 거라면
우리가 잘로 약속을 전화 수, 정말 당신이 이름을 부여
당신은 뭐라고 부르든간에,
다음 루프 안에서이 변수 라인 당신이 원하는대로 할 수 있습니다.
이 배열의 값을 얻을 수 충분하지 있으며 싶은 경우
그와 함께 인덱스는이 인덱스의 이름을 지정할 수 있습니다
뿐만 아니라 가치, 그리고 지금 당신은이 변수에 액세스 할 수 있습니다.
당신은 내가하고 라인 $이
어디서 배열의 인덱스입니다 $,
그리고 줄은 파일에서 검색하는 행입니다.
예를 들어, 우리가이 같은 파일의 에코 라인 0를 인쇄하고자 할 경우,
우리가 이렇게 할 수있다 "라인 $ 파일의 내가 줄 $이다"
그리고 여기에 우리가 아울러 아직 보지 못할까요
난 완전히이 모든 % s의 % d 개 사업을 생략 한 곳
우리는 C에서 처리했고, 대신 나는 바로 사라 한
내 문자열에서 줄의 변수를 작성.
>> 이것은 변수 보간, 문자열 보간이라고합니다
어디서 오른쪽에있는 변수를 소, 그리고 PHP 인터프리터하고
이 두로 시작하는 문자열을 읽을 때의 충분한 스마트 따옴표는 쓰지-
하지 작은 따옴표는 작은 따옴표로 둘러싸인 문자열을이을 할 수 없어
이 변수를 찾고 있어요으로하지만 따옴표 문자열로는 읽고 있습니다.
이 놈들을 사냥하고, 변수를 볼 경우이 변수의 값을 취할 것
이 문자열 표현으로 변환 할 수 있는지와 문자열로 다 쑤셔,
어떤 꽤 멋진 것입니다.
지금 들어, 모든의 나머지 부분을 주석 해
이 저장하고, 우리가 지금 할 수있는 건 우리가 파일을 열 수 있습니다
우리가 some_file.txt - 가자 's이 (가) 작성 호출 할 수있는 새로운 파일
그리고 우리는, 모든 테스트 여기에 말도 안되는 물건을 무리에 넣을 수 있습니다
제가 상단에 여기까지하는거야로는 some_file.txt 전화를 저장
나는하러 축소하면 지금 모든 게 같은에 디렉토리
나도 같은 디렉토리에 unique.php 및 some_file.txt 것 같습니다.
나는 PHP의 unique.php를 실행하는 경우
내 파일에 각 행을 출력하고 라인이 무슨 날인지 알아보십시오?
>> 그래 맞아, 매우 강력한거야?
이봐 요, 그건 파일을 열어 코드의 3 라인을했다.
음, 코드 4 줄. 내가 확실히 오늘은 계산하지 않도록 할 수 있습니다.
하지만 실제로는 다른 2는 중괄호 코드의 단 2 흥미 라인, 되었기 때문에
하지만이 정도는 코드에 우리는 그것을 통해 반복, 파일을 열 수 있었다
라인 번호와 라인 자체를 뽑아
하고 인쇄합니다.
멋진 물건. 샬롯.
[샬롯] 나는 구문에 대한 질문이 있습니다.
그래서 열 한 파일의 모든 한 줄에 거래를 foreach
다음 모든 단일 라인으로 일을 할 때 당신은으로 수행
다음 값을 연결합니다.
[네이트 H.] 당신이 바로 할 수있는 여기 질문했다
foreach는 배열과 연관이 있으므로, foreach 구문
정말 foreach, 그리고 더 공간이 없다는 통지합니다
또는와 각 사이에 아무것도.
그들은 서로 바로 옆에 가야
다음은 배열에 소요
그리고 당신은 거기 가야 그이라고이 다른 키워드를 가지고
다음과 같은 한 후 다음 중 하나를 하나의 변수 이름을 넣을 수 있습니다
당신이 배열의 값을 철수 할 것이 경우에
아닌 인덱스, 또는 우리가 아래 작성한대로 당신이 할 경우
당신은 키와 값을 얻을.
값으로 조율대로 배열의 배열 또는 쌍 foreach 요소를 가지고
또는 그냥 값입니다.
당신이 키가 필요하지 않은 경우, 당신이 필요로하는 걸에 따라,
다음은 값으로 이동할 수 있습니다.
당신이 키를 원하는 경우도 그들과 함께 갈 수 있습니다.
>> [샬롯] 나는뿐만 아니라 우리가 I 또는 행을 선언 적이 깨달았습니다.
어떻게 심지어 그들이 무엇입니까 알 수 있습니까?
[네이트 H.]이 (가) 선언으로 무엇을 의미합니까?
[샬롯] 우리는 그들에게 결코 내가 나 줄을 의미합니다.
[네이트 H.] 우리는 I 또는 선이 용어가 무슨 뜻인지 컴퓨터를 말하지 않았어의 -
[샬롯] 그들은 인덱스 또는 그들이-한다는 사실
[네이트 H.] 우리는이는 인덱스 나 키와 값 예정이라는 것을 말하지 않았어
그 PHP 인터프리터이기 때문에 그입니다.
이 선언으로 제공하며, 알았지 말한다, 키가 될거야
변수는 내가라는 변수에 저장했다.
이 값은,라는 변수 라인에 저장할 수 것입니다
그래서이 변수의 선언 역할
달러 난 키라고, 그리고 $ 줄은 값입니다.
네, 엘라.
키는 숫자 수행되지 않습니다 [엘라] 경우
어떻게이 모든 인쇄 무슨 순서 결정합니까?
그냥이에 입력 순서를 좋아합니까?
[네이트 H.]의이에게 해를 줘 보자.
가 도착지라는 변수를 생성하자,
우리는 7로 이동 할 수 있습니다.
1, 2, 또는 사과와 함께 공을 다른 배열로 이동 말합시다.
가자 7 1로 이동 말, B는 2로 이동
3 4로 이동합니다.
우리가 혼합 때문에이 미친 찾고 예를 들어 어떤 종류의
사방에 문자열과 정수.
이 배열 진짜 순서가 없습니다.
내 말은, 우리는 키가 알파벳 순서로 모든 주문 수 있습니다.
우리는 값에 의해 알파벳순으로 모든 주문 수 있습니다.
>> 우리는 시도하고 일부 문자열이 계정에 걸릴 수 있습니다, 일부는 ints 아르
우리는, 시도하고 동일한 유형으로 그들 모두를 변환하고 어떻게 볼 수
또는 우리가 이미 입력 된 값에 그들을 생각할 수도
둘째로 우리가 처음에이 녀석을 넣어,이 사람, 세 번째에있는이 남자,
넷째, 기타 등등이 남자.
우리가이 코드를 실행하면 어떻게되는지 보자.
우리는 아래로 스크롤하고, 일 이와 같은 작업을 수행 할 경우
이곳은 새로운 라인을 인쇄 없어.
이 파일의 일을 읽을 때 값에 새 줄을 포함했다,
여기 안 반면 어떤이는, 잘 인쇄 된 이유
그래서 모든이 함께 smushed 이유입니다.
단지 일이 좋은 수 있도록 그 새 행에 추가합시다.
의가 다시 실행하자, 그래서 여기에
무슨 일이 있었는지 좀 봐.
우리가 배열에 넣어 순서대로 모든 출력한다.
그렇게 의미에서 순서를 유지 않습니다.
>> 고유의 문제로 돌아 간다
우리는 파일을 통해 반복 할 수 있도록하려는 위치
우리는, 그것을 some_file.txt을주지
우리는이처럼 이상 반복거야.
우리는 우리가 다 가지고 걸 확실하게하고 배열을 사용하고 싶어했다
독특한이의 라인 아웃, 그리고 우리는 정말 쉽게 할 수
우리가 물론 루프의 범위 외부에 선언되는 배열에 저장하여,
우리는 말은 우리가 배열에서 키로 파일의 줄을 사용한 경우
우리가 중복 행을 입력하면 우리는 이전 값을 대체 거에요.
이 같은 배열의 동일한 두 키가 어느 불가능합니다.
우리는 그렇게 할 수 있습니다.
우리는 바로 여기 echo 문을 제거하는거야.
여기 우리는 우리의 배열에서 파일에 행을 저장하는
키 자체를 사용합니다.
잘 지내요, 그것은 우리가이 키가 필요하지 않는 것이 밝혀졌다.
우리는 내가 변수 필요하지 않습니다.
이 시점에서 우리는 또 다른 foreach 루프를 수행 할 경우
우리는 각 도착지를 통해 루프로했다
및 선 지금 우리는 - 죄송를 반향하는 경우, 미안 해요.
우리는 쉼표를 사용할 수 없습니다. 우리는 키워드로 사용합니다.
우리가 선을 반향하는 경우 이제 우리는 파일의 고유 한 모든 단어를해야합니다.
우리가 some_file.txt까지 가면은,
그리고 우리가 그 사과, 바나나, 사과, 사과, 바나나를 할 말
우리가이 파일에 고유 한 모든 단어를 인쇄하는 경우 우리는 가야
사과와 바나나 인쇄합니다.
우리가 이렇게 저장하면, 지금 우리는 다시 확대됩니다
PHP unique.php, 그리고 짠.
우리는 성공적으로 파일을 uniqued했습니다.
>> 당신이 그것을 밖으로 인쇄하기 전에이 문제의 마지막 부분은이 배열을 정렬달라고
이 간단한 예에서 우리가 수행 한 때문
우리는 의미에서 운이 해당 파일
우리는 사과와 바나나와 함께 인위적인 예를 했어요.
이미 정렬되었습니다.
그러나 간단한 정렬 기능을 사용하면 아주 멋진있는 배열을 정렬 할 수 있습니다.
정말 신속하게 대해 사람들과 이야기하고 싶어 마지막으로 한가지
PHP 이런 종류의 모든게 잘하고 좋은 것을이며, 편​​리 됐네
당신은 어느 프로그램 조금, 빠른 일을해야 할 경우 어떻게하는 방법을 알고 할 수 있습니다.
예를 들어, 말, 그런 프로그램을 작성해야하는 경우,
제가 C.에 가서 작성하지 않을 거에요 섹션으로 사람들을두고
오래거야.
그것은 관련 파일이 특히 경우, 통증이 종류의 질거야
너희들이 본 그대로.
정말 좋은 걸 여기에 그냥이 많은 코드와 함께
우리가 파일을 통해 추출 할 수 있었다, 모든 고유 한 값을 뽑아
하고 그 값을 다시 인쇄 할 수 있습니다.
>> 그러나 과제에 대한 귀하의 프로젝트에 대해,
당신은 PHP와 함께 웹 사이트를 구축하는 경우 전원이입니다
우리는이 통역을 통해 PHP 파일을 실행
와 인터프리터는 PHP 태그 내에서 모든 처리 중입니다
다른 모든 손길이 닿지 않은 떠나는 그 결과를 토.
우리는 프로그래밍 HTML을 빌드하는이 작업을 수행 할 수 있습니다.
사양에서 우리는, 사양에 돌아 가면 마지막 문제
농도의 생각에 대해 이야기
그리고 드롭 다운 메뉴를 만들
너도 할 수도 있습니다 또는 귀하의 최종 프로젝트가 무엇을하고 있는지에 따라 수행 할 수 없습니다,
그 사용자가 모든 가능한 농도 목록에서 선택할 수 있습니다
자신의 한 농도.
자,이이 일을 입력하는 고통 같은 거
그리고이 당신이 있는지 확인 데 특히 수동으로 모든 이런 짓을
당신은 바로 이곳에있는 모든 꺾쇠 괄호와 오른쪽 장소에있는 모든 따옴표를 가지고
그래서 PHP와 함께 프로그래밍 할 수 있으며, 당신은 정말 신속하게이 작업을 수행 할 수 있습니다.
>> 이 작업을 수행하는 방법에 보자.
우리는 새 파일을 열거야.
우리는 PHP 태그에 넣어거야.
우리는 그 concentrations.php 전화를하고
지금 당신이이 일을 할 때, 좋은 일 종류에 대해 생각
귀하의 PHP와 HTML을 혼합하고 일치하는 때
알아내는 있으며, 알았어, 내가 프로그래밍 방식으로 생성하고자하는 부분이 무엇입니까?
내가 프로그래밍 방식으로 생성 할 수있는 부분은 무엇입니까?
그것은 당신이 당신의 HTML을 모두 할 수 있다는 사실
PHP 블록의 내부.
당신은 문자열로 HTML을 모두 반향 할 수 있습니다.
예를 들어, 나는 PHP의 안쪽에 선택 태그를 시작하려면
나는 반향을 말할 수, 이름 = 농도를 선택합니다 말
그리고 아래로 아래 또 다른 에코 태그를 가질 수
또는 다른 에코 가까운 선택했다.
어떤이 그대로 할 것이다 있기 때문에 그렇게 한 방법입니다
이 PHP 인터프리터를 통해 실행 될 때이 문자열을 출력되고,
그래서 결과는 HTML 될 것입니다.
가 지금의이 파일을 저장하는 경우
나는 PHP concentrations.php를 실행
내가 뭐 좀 봐.
이 열고 닫고 선택 태그를 가지고.
>> 나는이 일을했다하고, 파일이 결과를 저장 할 경우
concentrations.html - 잠깐, 말은 나처럼 다른로 간 보이는 측면
여기 열 경우 이제 내가 유효한 HTML 파일이 표시 concentrations.html.
이상한 그런입니까?
우리는, HTML을 만들 유효한 HTML을 생성 PHP를 사용하고 있습니다.
우리가하고있는 방법은 우리가 PHP 인쇄하는 데 문제가 있습니다
우리가 인쇄 할 HTML.
이 PHP 웹 사이트가 작동하는 방법 그대로입니다.
당신은 같은 당신을 보내는 웹 사이트를 방문 할 때
뭔가, 뭔가, 뭔가 도트 co.kr 사이트 슬래시 index.php
컴퓨터는 그대로, index.php를 호출합니다
PHP 인터프리터를 통해 실행하고, 어떤 스팸은 나오면
이 브라우저로 다시 전송하고 어이 말하는, 브라우저, HTML로 해석있어.
좋은 점은 지속적으로 에코, 에코, 에코, 에코를 작성하는 고통이 될 수 있다는 것입니다
당신이 작성하고 싶다면,이 같은 따옴표의 모든을 동봉
당신이 이렇게 할 수 있습니다 자신 정적이 될거에요 HTML
, 외부 넣어 문을 닫을,
그리고 당신은 여기 만이 알고있는 것을 PHP 태그 안에 넣어
당신은 프로그래밍 방식으로 생성하기를 원하며,이 경우에 해당 옵션 태그입니다
그 생성 할 수있는 고통입니다.
>> 예를 들어, 우리는 천 옵션 태그를 생성 할 수
과 같이, $ 나는 <1000함으로써, 전 + +
그리고 에코 옵션 값을 말하는 것은 = $ - 이런, 난 할 수 없어.
음, 그것을 시도하고 무슨 일이 일어나는지 보는 줘.
$ i와 다음은 $ 내가 말을 </ 옵션을 제공합니다.
오히려이 옵션 태그를 입력 할 필요가 천 다른 시간보다
I는 프로그래밍, 자동으로 생성하는 PHP 코드를 사용하고 있습니다.
멋진의 종류. 그래.
이 강의 나 연습 중에서 언급되고, 기억
하지만 인용 부호 사이의 차이점은, 무엇인가
정상들과이 하나의 일?
그래서 사실 내가 보여 줄 잘못 여기까지 해낸 게 뭔가.
작은 따옴표는 특수 문자를 허용하지 않습니다
때문에 작은 따옴표로 둘러싸인 문자열 내부의 모든 것을 문자 그대로 해석됩니다.
나는 \ N 따옴표의 내부가 있었는데 나는 예를 들어,이 저장하면
지금은 여기에 가서 실행을 -
죄송합니다, 나는 어디로 가야하지?
나는 달러를 잊었 아, 그게.
>> I가 - 실제로 열 경우 지금, 여기, 우리는 파일에 입력을 제거하는거야.
우리는 읽어드립니다.
자, 안 실제 새 줄과 같은 문자열이 문자 \ n을 해 알
와 마찬가지로, 대신 실제로이 변수의 값을 보간
나에게 고통의 종류입니다 $ 전 자체를했다.
이 주변의 방법은 큰 따옴표를 사용하는 것입니다
그리고 당신은 실제로 의지 따옴표를 사용하는 경우
여기에 제대로 보간이 변수의 모든 값을
그리고 또한이있는 새 줄 수이 \ n을 인식
아니라 \ N.
당신이있을 때 하나의 키워드를 사용하면 좋다
특수 문자로 해석 될 수 문자가 있기 때문에 다음 필요 없어
계속을 탈출.
상황이 종종 내가 할 방법을 지저분한 얻을 수 있습니다
단지 일을 쉽게하기 위해, 즉 아무 것도 가지고 갈 수 있을지
HTML 내가 작은 따옴표 안에 수정을 포함합니다 내 코드에서처럼
다음이 연결 연산자를 사용하여
인치 변수를 연결하는
이것은 일의 또 다른 방법입니다
우리가 연결 무슨 점 있어요 곳이 문자열
이와 함께있는이 함께
지금은이 두 따옴표를 회피 할 필요가 없습니다.
나는 탈출이 사람을 사용할 필요가 없습니다.
그들은 문자 그대로 여기에 따옴표 그리고이 남자로 출력됩니다.
이 모든 것을 혼합의 또 다른 방법입니다.
>> [학생] 또한 gettype 인자를 출력 할 때 전혀 인용 부호가 없었다.
좋아요, 그럼 에코가 가지 당신은 괄호가 필요하지 않는 의미에서 특별합니다.
당신은 인용 변수 주위에 반드시 마르크해야 할 필요는 없습니다
그것은 $ i를 반향 말을 유효하고는 문자열로 해석하는 것 같아.
이 캐스트를 할거야, 그래서 우리는이 작업을 수행 할 수 있으며, 그도 유효하지만, 우리가 필요하지 않습니다.
이건 선택 사항입니다.
이번 주 문제 세트에 물건을 이런 종류의 많은 보살 피려
당신은 PHP와 HTML을 혼합하고 일치하는 곳
우리가 돌​​아 스크롤 경우에는이 같은, 이제 우리가 할
우리는 옵션 값을 아주 많이 가지고 볼 수 있습니다
그건 그냥 출력어요.
우리는 우리에게 정말 신속하게 생성어요 모든 HTML을 갖추고 있습니다.
나는 운동으로 갈거야.
우리가 이전에했던 한 파일 읽기와 매우 유사합니다.
>> 당신은 CDN에서 아래로 당겨 수있는 concentrations.txt 파일이 있습니다
그리고 당신은 우리가 이전에했던 foreach 트릭을 사용하여 열 수 있습니다
그리고 방금의 옵션과 플러그인을 반향해야 foreach
적절한 값, 해당 키와 인덱스,
그리고 당신은 문자 그대로 만들어 드롭 다운을
프로그래밍 하버드에서 다른 농도의 여러분 모두.
이 할 수 편리한 것.
본 과제에 대한 구성 물건을 많이가 있습니다.
당신이하지 않은 경우 이미 30 분, 시간, 가져
오늘 밤 확실히 확인을위한, 약간의 시간이
이 문제 세트 사양 통과
vhosts, 로컬 호스트, 모든 물건을 설정과 함께 무슨 일을 참조하십시오.
지금 지적해야 할 점은 그
대부분의 문제 세트에서 우리는 귀하의 Tea 폴더로 갈 있었어요
다음 문제 세트 zip 파일을 다운로드하고 풀기.
이 문제 세트에 가고 싶지 않아요.
이 vhosts 디렉토리에 가고 싶어요.
당신은 vhosts에 들어가 그 안에서 로컬 호스트 디렉토리에 가고 싶어합니다
이 zip 파일을 당겨하는 것이 좋습니다 곳이입니다
그것을 압축을 풀고, 그리고 갈 준비.
당신은 밀접하게 단계를 수행해야합니다.
>> 당신은 질문이 있으면 언제든지 이메일을 보내 근무 시간에 와서, 토론에 게시합니다.
고마워. 다음 주 우리는 퀴즈에 대한 리뷰 세션을 할 겁니다.
마지막 문제 세트를 즐길 수 있습니다. 나는이 모든 정말 잘갑니다 바랍니다.
[CS50.TV]