1. PHP란
PHP("PHP: Hypertext Preprocessor")는 널리 사용되는 오픈 소스 범용 스크립팅 언어로, 특히 웹 개발에 적합하며 HTML에 포함될 수 있습니다. 구문은 C, Java 및 Perl을 활용하며 배우기 쉽습니다. 언어의 주요 목표는 웹 개발자가 동적으로 생성된 웹 페이지를 빠르게 작성할 수 있도록 하는 것이지만, PHP는 그 이상으로 사용될 수 있습니다.
쉽게 말하면 PHP는 많은 일을 할 수 있는 스크립트 언어입니다. ① 서버측 스크립트 ② 명령줄 스크립트 ③ 데스크톱 프로그램 작성
2. PHP를 시작합니다
(1) PHP 인터프리터를 다운로드하세요. 사실, win에서 가장 간단한 소프트웨어는 wamp입니다. 다운로드하면 모든 것이 제공됩니다...
(2) 여전히 win에서 필요한 것 같습니다. mscvr110.dll 링크 라이브러리와 vc2012 런타임 라이브러리를 설치할 수 있습니다
(3)ide, 뻔뻔하게 phpStorm을 썼는데, 부자되면 보상해 주니까...
User: newasp License: ===== LICENSE BEGIN ===== 14617-12042010 00001xrVkhnPuM!Bd!vYtgydcusnqt mM!hZWoGg"DprWxZCBwsy8T91O7MRu NVHtrbzv8O9mmoLvtijcHSSE7i5Jr! ===== LICENSE END ====
3. 시작하기
(1) 단순 출력
<?php /** * Created by PhpStorm. * User: LENOVO * Date: 2014/9/28 * Time: 14:51 */ // 输出PHP详细信息 echo phpinfo(); //C:\php-5.6.1-Win32-VC11-x86\php.exe D:\dizzy\php_test\index.php //phpinfo() //PHP Version => 5.6.1 // //System => Windows NT LENOVO-PC 6.1 build 7600 (Windows 7 Ultimate Edition) i586 //Build Date => Sep 24 2014 18:54:12 //Compiler => MSVC11 (Visual C++ 2012) //Architecture => x86 //Configure Command => cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo" //Server API => Command Line Interface
(2) 단순 양식 처리
// 一个简单的html表单 <form action="action.php" method="post"> <p>姓名: <input type="text" name="name" /></p> <p>年龄: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form> // action.php 接收表单数据, 使用超全局变量 %_POST["name"] %_POST["age"] <?php echo htmlspecialchars($_POST['name']); ?> <?php echo (int)$_POST['age']; ?> // 这便是最简单的表单提交,及数据接收
4. 기초문법
(1) PHP 태그
<?php echo "Hello World!"; // 当文件为纯PHP时,最好在末尾删除PHP结束标记 //?>
(2) HTML과 분리
// 在一对开始和结束之外的内容,都会被PHP解释器忽略。也就是html标签和PHP代码混合的那种,跟jsp,asp一样... <p>This is going to be ignored by PHP and displayed by the browser.</p> <?php echo 'While this is going to be parsed.'; ?> <p>This will also be ignored by PHP and displayed by the browser.</p> // 使用条件,高级分离 <?php if ($expression == true): ?> This will show if the expression is true. <?php else: ?> Otherwise this will show. <?php endif; ?>
(3) 명령어 구분 기호, 주석
PHP에서는 각 명령문 다음에 지시어를 끝내기 위해 구분 기호가 필요합니다.
댓글: // 또는 /* ... */ 그러나 */는 가장 가까운 것과 일치합니다. 기억하세요! 기억하다!
5. 유형
PHP는 8가지 기본 데이터 유형을 지원합니다.
<?php $a_bool = TRUE; // a boolean $a_str = "foo"; // a string $a_str2 = 'foo'; // a string $an_int = 12; // an integer echo gettype($a_bool); // prints out: boolean echo gettype($a_str); // prints out: string // If this is an integer, increment it by four if (is_int($an_int)) { $an_int += 4; } // If $bool is a string, print it out // (does not print out anything) if (is_string($a_bool)) { echo "String: $a_bool"; } ?>
(1) 부울 부울 유형
TRUE 또는 FALSE일 수 있으며 대소문자를 구분하지 않습니다.
일반적으로 0이 아니면 TRUE입니다.
(2) 정수
정수는 10진수, 16진수, 8진수, 2진수로 표현할 수 있습니다. 8진수 앞에는 0(영)이 와야 하고, 16진수 앞에는 0x가 와야 하며, 2진수 앞에는 0b가 와야 합니다.
주어진 숫자가 정수 범위를 초과하면 부동 소수점으로 해석됩니다. 동일한 연산 결과가 정수 범위를 초과하는 경우도 마찬가지입니다.
PHP에는 정수 나누기 연산자가 없으며 1/2는 부동 소수점 0.5를 생성합니다. 더 나은 반올림을 위해 정수로 변환하거나 round()를 사용할 수 있습니다.
echo (int)2.9; // 输出 2 echo round(2.555, 2) // 输出 2.56 // 决不要将未知的分数强制转换为 integer,这样有时会导致不可预料的结果。 <?php echo (int) ( (0.1+0.7) * 10 ); // 显示 7! ?>
(3) Float 부동소수점형(이중)
부동 소수점 유형, 부동 소수점 숫자 float, 배정밀도 double, 실수 실수라고도 합니다.
<?php $a = 1.234; $b = 1.2e3; $c = 7E-10; ?>
(4) 문자열 문자 변환
문자열은 일련의 문자로 구성되며 각 문자는 1바이트에 해당합니다. 즉, PHP는 256개의 문자 집합만 지원할 수 있으므로 유니코드를 지원하지 않습니다.
최대 문자열 크기는 2GB까지 가능합니다.
<?php $a = 123; echo '$a'; // 输出 $a echo "$a"; // 输出 123, 转义字符 '\' $str = <<<'EOD' Example of string spanning multiple lines using nowdoc syntax. EOD; ?>
(5) 배열 배열
PHP의 배열은 실제로 순서가 지정된 시퀀스입니다. 매핑은 값을 키에 연결하는 유형입니다.
배열 요소의 값은 다른 배열이라고도 할 수 있으므로 트리 구조, 다차원 배열도 허용됩니다.
<?php $array = array( "foo" => "bar", "bar" => "foo", ); // 自PHP 5.4 起 $array = [ "foo" => "bar", "bar" => "foo", ] // key 可以是 integer 或 string 类型 // key 值为可选项, 如果未指定,则使用之前用过最大的integer键名加上1作为新键名 ?> // 要修改某个值,通过其键名给该单元赋一个新值。 // 要删除某个键值对,对其调用 unset() 函数。
unset()을 사용할 때 이때는 배열의 색인이 다시 생성되지 않는다는 점에 유의하세요. 인덱스를 다시 작성해야 하는 경우 array_values() 함수를 사용할 수 있습니다.
> 왜 집계되나요?
(6) 객체 객체
<?php class foo{ function do_foo(){ echo "Doing foo."; } } // 用 new 实例化一个类 $f = new foo; $f->do_foo;
(7)Resource 资源类型
资源 resource 是一种特殊的变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。
(8)NULL
特殊的NULL 表示一个变量没有值。NULL类型唯一可能的值就是NULL。
可被认定为NULL的变量:①被赋值为NULL ②尚未被赋值 ③被unset
(9)Callback 回调类型
自PHP5.4 起,可以使用 callable 类型 指定回调类型 callback。
六、变量
php中变量用一个美元符号 $ 后面跟变量名来表示的。区分大小写。
变量默认总是传值赋值。
<?php $a = 1; // 值传递赋值 $b = $a // 引用赋值 $c = &$a // global 关键字 global ; $GLOBALS