>  기사  >  백엔드 개발  >  PHP의 기본 구문 지식

PHP의 기본 구문 지식

WBOY
WBOY원래의
2016-08-08 09:33:101242검색

PHP(외국명: Hypertext Preprocessor, 중국어명: "Hypertext Preprocessor")는 일반적인 오픈소스 스크립팅 언어입니다. C언어, Java, Perl의 특징을 흡수한 구문으로, 배우기 쉽고 널리 사용되는 분야에 주로 적합합니다.

PHP의 고유한 구문은 C, Java, Perl 및 PHP 고유의 구문을 혼합한 것입니다. CGI나 Perl보다 빠르게 동적 웹 페이지를 실행할 수 있습니다. 다른 프로그래밍 언어와 비교하여 PHP로 만든 동적 페이지는 프로그램을 HTML(Standard Universal Markup Language의 응용 프로그램) 문서에 삽입하여 실행하며 HTML 태그를 완전히 생성하는 CGI보다 실행 효율성이 훨씬 높습니다. PHP는 컴파일된 코드도 실행할 수 있습니다. . 컴파일을 통해 암호화를 달성하고 코드 실행을 최적화하여 코드 실행 속도를 높일 수 있습니다.

PHP 상수:

사전 정의된 상수:

PHP 자체는 또한 get_define_constants()를 사용하여 볼 수 있는 다수의 사전 정의된 상수를 정의합니다. 더 일반적으로 사용되는 사전 정의된 상수는 다음과 같습니다.

PHP_OS: PHP 시스템.

PHP_VERSION: PHP 버전.

PHP_EOL: 개행 문자(플랫폼 간 이식성, 매우 중요), 운영 체제에 따라 다른 값이 사용됩니다. 줄 바꿈은 운영 체제에 따라 다릅니다. 창: rn *nix: n MAC: r

PHP_INT_MAX: 정수의 최대값입니다.

PHP_INT_SIZE: 정수가 차지하는 바이트 수.

PATH_SEPARATOR: 환경 변수의 경로 간 구분 기호입니다.

DIRECTORY_SEPARATOR: 디렉터리 구분 기호입니다. ''와 '/'는 모두 창 아래에서 사용할 수 있지만 *nix는 '/'만 사용할 수 있습니다.

매직 상수:

상수처럼 보이지만 실제로는 상수가 아닙니다. 구문은 상수와 비슷합니다.

__FILE__: 전체 파일 경로 및 파일 이름입니다. 다음과 같은 일반적인 애플리케이션(프로젝트 코드):

정의('ROOT_PATH',str_replace('7.php','',__FILE__));

에코 ROOT_PATH;

결과는 동일합니다(__DIR__, 이 상수는 PHP5.3에 새로 추가되었습니다).

__FUNCTION__: 현재 함수 이름의 마법 상수를 가져옵니다!

PHP 기본 변환

PHP에서는 기본 변환을 위해 일련의 함수가 제공됩니다.

16진수: 16진수; 10진수: 8진수;

예: decbin()은 10진수를 2진수로 변환합니다. octhex()는 8진수를 16진수로 변환합니다.

정수의 경우 값이 너무 크면 오버플로되지 않지만 유형 변환이 발생하여 부동 소수점 유형으로 변환됩니다.

PHP는 부호 없는 정수를 지원하지 않습니다.

좋다:

$a = PHP_INT_MAX; //2147483648

$b = $a+1;

var_dump($b);

PHP에서는 float, double이 실제로 동일합니다. 부동 소수점 숫자의 정밀도는 십진수 14자리이며 최대값은 플랫폼에 따라 다르며 일반적으로 1.8e308입니다. 부동 소수점 숫자의 비교는 신뢰할 수 없습니다. 프로그램을 작성할 때 두 개의 부동 소수점 숫자가 같은지 비교하여 비즈니스 논리를 얻으려고 하지 마십시오.

문자열 정의 방법

문자열을 정의하는 방법에는 큰따옴표, 작은따옴표, heredoc(구분자), nowdoc(구분자)의 네 가지 방법이 있습니다.

큰따옴표는 변수를 구문 분석할 수 있고, 작은따옴표는 변수를 구문 분석할 수 없습니다. 작은 따옴표에는 큰 따옴표가 포함될 수 있고 큰 따옴표에는 작은 따옴표가 포함될 수 있지만 따옴표 자체에는 따옴표가 포함될 수 없습니다.

변수를 구문 분석할 수 있는지 여부는 변수가 포함된 항목에 따라 다르지만 정의 문자열이 작은따옴표인지 큰따옴표인지에 따라 다릅니다. 변수가 작은따옴표이면 구문 분석됩니다. 구문 분석되지 않습니다.

문자열에서 {$가 함께 연결되어 있으면 그 안의 {}가 변수로 구문 분석된다는 의미입니다.

변수가 NULL로 간주되는 경우

1. NULL 값이 할당됨

2. 아직 값이 할당되지 않았습니다.

3. 설정되지 않은 상태()

가장 일반적인 응용 프로그램 중 하나는 개체 값을 NULL에 할당하여 개체를 삭제하는 것입니다.

데이터 유형 관련 함수

var_dump(): 유형 및 값을 포함하여 변수에 대한 자세한 정보를 인쇄합니다.

gettype(): 유형을 가져옵니다.

settype(): 유형을 설정합니다.

is 시리즈: is_array() 가 자주 사용됩니다.

isset(): 변수가 존재하는지(set) 확인합니다.

empty() : 변수가 비어 있는지 확인합니다.

isset()의 경우 선언된 경우(값이 있는 경우) 값이 무엇이든 관계없이 true를 반환합니다.

비어 있음()의 경우 부울(변수)과 동일하며 부정됩니다.

부울로의 변환은 FALSE로 간주됩니다.

1. 부울 값 FALSE 자체

2. 정수값 0(영)

3. 부동 소수점 값 0.0(영)

4. 빈 문자열 및 문자열 "0"("00" 및 "0.0"은 TRUE로 간주됨)

5. 빈 배열

6. 특수형 NULL(설정되지 않은 변수 포함)

다른 모든 값은 TRUE로 간주됩니다(객체 및 리소스 포함).

PHP 작업 규칙

나누기 연산의 결과는 부동 소수점 숫자 또는 정수일 수 있습니다.

모듈로 연산에서 소수가 있으면 소수 부분이 제거됩니다.

모듈로 연산에서 결과의 부호는 첫 번째 숫자에 따라 달라집니다.

원본 코드

10진수를 2진수로 변환합니다. 가장 높은 비트는 부호 비트를 나타내는 데 사용되며 0은 양수, 1은 음수를 나타냅니다.

역방향 코드

양수의 경우 보완 코드는 원래 코드와 동일합니다.

음수의 경우 부호 비트는 변경되지 않고 다른 비트는 반전됩니다.

보어

양수의 경우 보완 코드는 원래 코드와 동일합니다.

음수의 경우 보수에 1을 더합니다.

트랜스코딩 중에 기호는 변경되지 않고 유지되며, 기호 비트는 작업 중에 작업에 참여합니다.

교대운전

오른쪽 시프트: 낮은 비트가 오버플로되고, 부호 비트는 변경되지 않고, 높은 비트는 부호 비트로 완성됩니다(2의 n승으로 나눈 후 반올림하는 것과 동일).

왼쪽 시프트: 높은 비트가 오버플로되고, 부호 비트는 변경되지 않고, 낮은 비트는 0으로 채워집니다(2를 n승으로 곱하는 것과 동일).

왼쪽 시프트인지 오른쪽 시프트인지에 관계없이 숫자의 크기만 변경되고 부호는 변경되지 않으므로 시프트 작업 중에 부호 비트는 변경되지 않습니다.

PHP 연산자 우선순위

and 또는와 && ||의 차이점.

사용법은 동일하지만 우선순위가 다릅니다. &&, || = >

break: 종료합니다. break가 실행되면 전체 루프 루프 문이 직접 종료됩니다.

continue: 계속하세요. 현재 루프 본문의 실행이 종료되고 다음 루프 본문의 실행이 계속됩니다.

포함하고 요구한다

include_path 값 설정

set_include_path() 함수를 사용하세요.

set_include_path('d:/php/test'); 그런 다음 'file.php'를 직접 요구합니다.

참고: 설정하는 동안 마지막 설정이 이전 설정을 덮어씁니다!

현재 include_path 값을 가져옵니다.

현재 include_path 값을 얻으려면 get_include_path() 함수를 사용하십시오!

디렉터리는 세미콜론을 사용하여 연결됩니다.

set_include_path('d:/php/test'.PATH_SEPARATOR.get_include_path());

PHP는 소스 파일 단위로 코드를 컴파일합니다. 현재 파일에 구문 오류가 있으면 PHP는 오류를 보고합니다. 코드 컴파일 처리가 수행되지 않습니다.

require(require_once)와 include(include_once)의 차이점

파일 로드에 실패하면 파일에 대한 종속성이 다르며 트리거된 오류가 일관되지 않습니다! 수준이 다릅니다.

require(require_once): 치명적인 오류가 발생하여 스크립트가 종료됩니다.

include(include_once): 경고 오류가 발생하고 스크립트는 계속 실행됩니다.

require(include)와 require_once(include_once)의 차이점은 다음과 같습니다.

한 번은 한 번 로드한다는 의미입니다. 로드할 때 한 번 있는 사람이 먼저 현재 파일이 로드되었는지 여부를 판단합니다.

이미 로드됨: 다시 로드되지 않습니다.

로드되지 않음: 로드를 수행합니다!

가능한 한 require를 사용하세요.

제어 스크립트 실행

스크립트 실행을 종료하고 스크립트 실행을 지연합니다.

die(),exit(): 스크립트 실행을 종료합니다. 발생하면 스크립트가 즉시 종료되고 모든 실행이 종료됩니다. 그리고 끝나기 전에 문자열을 출력할 수도 있습니다.

sleep(): 스크립트 실행을 지연하고 일정 시간(초) 동안 일시 중지합니다. 최대 실행 기간은 30초이며 php.ini 파일에서 구성할 수 있습니다. max_execution_time = 30

매개변수 목록의 일부 매개변수에는 기본값이 있지만 일부 매개변수에는 기본값이 없는 경우 기본값이 있는 매개변수는 형식 매개변수 목록 뒤에 배치됩니다.

func_get_args(): 함수의 실제 매개변수를 모두 가져옵니다.

$GLOBALS: 사전 정의된 변수

사용자 데이터의 초세계화를 위해 특별히 사전 정의된 변수입니다.

다른 초전역 변수와 달리:

각 전역 변수는 자동으로 $GLOBALS 내의 요소에 해당합니다.

전역 변수를 추가하면 $GLOBALS에 동일한 이름을 가진 요소가 자동으로 추가됩니다! 그 반대!

$v1 = 10;

var_dump($GLOBALS['v1']);

$GLOBALS['v2'] = 20;

var_dump($GLOBALS['V2']);

글로벌의 기능은

지역 변수를 선언하고 동일한 이름의 전역 변수에 대한 참조로 초기화하세요!

익명 함수의 역할

일반적으로 익명 함수는 임시 함수로 사용될 수 있습니다. 예를 들어, 일부 내부 함수는 작업을 완료하기 위해 특정 함수를 호출해야 합니다! 예: array_map(): Return array = array_map('function', array); 제공된 함수를 사용하여 배열의 모든 요소에 대해 작업을 수행하세요!

매개변수에 콜백(호출 가능)이 필요한 경우 익명 함수를 전달하여 이를 수행합니다!

PHP 배열 포인터 문제

포인터 기능

PHP에는 포인터가 가리키는 배열 요소의 키와 값을 가져오는 기능이 있습니다! 기능을 이용하십시오:

current(), 현재 요소의 값을 가져옵니다.

key(): 현재 요소의 키를 가져옵니다. 포인터가 이미 유효하지 않은 경우 NULL이 반환됩니다. 요소가 존재하는지 확인하는 데 사용됩니다.

포인터를 이동하는 기능도 있어야 합니다!

next(): 포인터의 이동을 완료할 수 있습니다!

배열 기능:

range(): 특정 범위 내의 요소 배열을 가져올 수 있습니다.

array_merge('$arr1','$arr2',...): 배열을 병합하고 여러 배열을 병합합니다.

아래첨자가 반복되면 어떻게 되나요?

숫자 인덱싱: 재인덱싱을 완료하세요!

문자 아래 첨자: 나중에 나타나는 요소 값이 이전 요소 값을 덮어쓰게 됩니다!

array_rand (array, number): 배열에서 요소를 무작위로 얻고, 아래 첨자를 얻습니다! 여러 개가 있는 경우 임의의 첨자 세트를 반환하세요! 결과는 작은 것부터 큰 것까지 정렬됩니다!

shuffle(&$arr): 배열의 요소 순서를 섞습니다. 매개변수는 참조로 전달된다는 점에 유의하세요! 원래 어레이가 중단됩니다.

핵심 가치 작업:

array_keys(): 모든 키를 가져옵니다.

array_values(): 모든 값을 가져옵니다.

in_array(): 특정 값이 존재하는지 여부.

array_key_exists(): 키가 존재하는지 여부.

array_combine('key array', 'value array'): 두 개의 배열을 사용하여 하나의 배열로 병합합니다. 하나는 키이고 다른 하나는 값입니다!

array_fill('첫 번째 인덱스 값','number','value'): 배열을 채웁니다.

Array = array_fill(시작 인덱스, 채울 요소 수, 채울 값);

array_chunk(): 배열을 분할합니다. 원칙은 하위 배열의 요소 수입니다!

array_intersect($arr1, $arr2): 두 배열의 교집합을 계산하고 $arr1과 $arr2에도 존재하는 요소를 찾습니다.

array_diff($arr1, $arr2): 두 배열 간의 차이를 계산합니다. arr1에는 존재하지만 arr2에는 존재하지 않는 요소를 찾아보세요!

배열은 스택과 큐를 시뮬레이션합니다.

桟와 queue는 모두 일반적인 데이터 구조이며 둘 다 목록 목록 유형입니다.

스택에 푸시: array_push(), 배열 끝에 있는 배열에 데이터를 푸시합니다.

스택을 팝합니다: array_pop(), 스택 상단의 출력 요소.

array_push() 및 array_pop()은 모든 요소가 0에서 시작하여 하나씩 증가하도록 다시 색인화됩니다.

대기열에 넣기: array_push(), 배열 끝에 있는 배열에 데이터를 푸시합니다.

Dequeue: array_shift(), 배열의 맨 위에 있는 데이터를 꺼냅니다.

array_unshift()는 배열의 맨 위에서 배열로 데이터를 푸시할 수 있습니다.

배열 정렬 기능

정렬 기능은 모두 참조로 전달됩니다!

r: 역방향, 역방향. a: 협회, 협회. u: 사용자, 사용자 정의.

sort('array'): 키-값 연관을 유지하지 않고 값을 기준으로 오름차순으로 정렬합니다.

rsort('array'): 키-값 연관을 유지하지 않고 값을 기준으로 내림차순으로 정렬합니다.

asort('array'): 키-값 연관을 유지하면서 값을 기준으로 오름차순으로 정렬합니다.

arsort('array'): 키-값 연관을 유지하면서 값을 기준으로 내림차순으로 정렬합니다.

ksort('array'): 키-값 연관을 유지하면서 키를 기준으로 오름차순으로 정렬합니다.

krsort('array'): 키-값 연관을 유지하면서 키를 기준으로 내림차순으로 정렬합니다.

natsort('array'): 자연수 정렬, 계산된 자연수를 사용하여 데이터를 정렬할 수 있습니다!

usort('array'): 사용자 정의 정렬, 요소 간의 사용자 정의 크기 관계. 사용자는 두 요소의 크기를 비교하고 PHP에 요소의 크기 관계를 알려줄 수 있는 함수를 제공합니다. 사용자가 정의한 함수는 usort()에게 두 요소 사이의 크기 관계를 알려주는 역할을 하고, usort는 관계를 얻은 후 정렬을 완료하는 역할을 합니다! 반환 값을 사용하여 알려주세요!

오름차순으로 반환 효과:

첫 번째 요소가 작다는 것을 나타내는 음수를 반환합니다.

첫 번째 요소가 크다는 것을 나타내는 양수를 반환합니다.

같음을 나타내는 0을 반환합니다.

이상으로 PHP 구문의 내용을 포함하여 PHP의 기본 구문 지식을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.