PHP는 정보 처리 능력이 뛰어나다. 언어의 구문은 비교 기능, 문자열 처리, 비교 연산자의 완전한 기능 세트로 표현됩니다.

PHP는 문자열 비교

모든 알고리즘은 일련의 선택 사항이며행동. 그러나 선택하기 전에 뭔가를 무언가와 비교할 필요가 있습니다. 문자열 - 알고리즘을 제어하기위한 가장 널찍하고, 효과적이며 실제적인 메커니즘. Lines - 데이터 표현의 변형입니다. 그리고이 데이터는 알고리즘의 "주의"의 주된 주제입니다.

"비교 - 행동"의 일반적인 논리는

일반적으로 동적 타이핑 언어는예를 들어 PHP에서는 문자열과 숫자의 비교가 크게 다르지 않습니다. 숫자는 숫자, 마침표 만 포함하고 숫자를 표현하는 데 사용되지 않는 문자는 하나도 없습니다 (수학 표기법).

번호 매기기의 경우 숫자는 gettype () 함수가 "정수"또는 "이중"을 제공하더라도 불필요한 질문없이 숨겨진 오류없이 문자열과 자동으로 병합됩니다.

두 문자열의 PHP 비교

그러나이 함수를 사용하는 것과is_int () 및 is_numeric (). 첫 번째는 매개 변수가 정수일 때 진리를 제공하고, 두 번째 숫자 또는 숫자 문자열 (변수는 유형이 "string"이지만 수학 표기법에 의해 제공되는 모든 것을 포함 함) 일 때 진리를 제공합니다.

이 간단한 예제는 PHP와 같은 좋은 예입니다.문자열 비교 연산자 ( "==", "===", "! =", ...)는 많은 놀라움을 줄 수 있습니다. 변수는 유형을 변경할 수 있지만 항상 숫자가 아니지만 거의 항상 문자열로 이어질 수 있습니다. 극단적 인 경우 빈 문자열이됩니다.

PHP 문자열 비교 연산자

위의 내용을 토대로 PHP에서 문자열 비교 함수가 가장 많이 사용됩니다. 개발자를 해결하기 위해 선택할 수있는 하나. 정규 표현식까지 많은 옵션을 사용할 수 있습니다.

사용 가능한 기능의 경계

두 문자열의 PHP 비교는 함수에 의해 "완료"됩니다.strpos ()는 가장 저렴하고, 옳고 실용적인 옵션입니다. 이 함수의 결과가 숫자이면, 한 행은 다른 행과 동일하거나 다른 행이 고유하게 입력됩니다.

Cardinally 반대,하지만 또한 절대적으로 올바른 접근 방식은 정규식의 사용이다.

저자의 예는 그림이 아니다.

함수 호출 $ cResult =scCheckFileName가 ($ CSTR)이 "true"로주고, 다음 문자열은 파일 vordovsky의 이름입니다. "-", "_", 문자, 숫자 및 기호 : 그는 확장 ".DOCX"와 이름에 문자 한 버전이있을 것이다.

이 함수는 다른 것으로 쉽게 변환 될 수 있습니다.파일의 종류 : $ CPTR = "/^([a-zA-Z...0-9-_]{4,239}).(html|js|css|png|jpg|docx|txt){1}$/ 유. " 이 변형을 위해 HTML (예를 들어, PHP 문자열 비교 "입력 에러없이 기회, 서버로 파일을 업로드"인가) 범위 주사선 다운로드를 확장 JS, CSS ...

strpos () 및 preg_match () 사용 -극단. 이들은 타이밍 비교 문제와 직접적인 관련이 없습니다. 그러나 알고리즘의 질문은 신뢰할 수 있고 정확한 결과를 얻기 위해 모든 가능성을 사용하여 스타일의 조합을 적용하는 문제입니다.

기능 PHP : 문자열 비교

아스날의 언어 대 라인은순수한 비교의 기능뿐만 아니라 수색이나 교체와의 직접적인 결합. 후자가 반드시 어떤 라인에서도 변화를 가져 오지는 않기 때문에 항상 그 행동은 비교와 일치해야만하는 것은 아닙니다. 종종 알고리즘의 하나 또는 다른 브랜치를 선택하는 것이 필요합니다.

PHP의 일반적인 버전 : 문자열 비교는 int strcmp (s1, s2) 함수에 의해 수행됩니다.

기능 결과 :

  • 0 - 선은 동일합니다.
  • -1 - 첫 번째 줄이 두 번째 줄보다 작습니다.
  • 1 - 첫 번째 줄이 두 번째 줄보다 큽니다.

실제로이 의미는 첫 번째PHP 함수 (문자열 비교)가 결정하는 두 번째 줄. strpos ()의 제한된 버전. 후자의 경우 엔트리 위치를 알 수 있기 때문입니다.

함수 strcmp ()는 대소 문자를 구별합니다. 대문자와 소문자를 구별하지 않고 문자열을 비교하고 싶다면 PHP는 strcasecmp ()를 사용하는 것을 제안합니다. 구문은 비슷합니다.

실제로, 전체적으로 작동하지 않는 것이 종종 필요합니다.라인,하지만 그 부분 만 함께. 이를 위해 strncmp (s1, s2, N)가 PHP 함수 집합에 포함됩니다 (문자열 비교). 세 번째 매개 변수는 N 바이트 만 비교한다는 것을 나타냅니다. 결과는 strcmp ()와 유사합니다.

배열, 문자열 및 비교

데이터는 거의 항상 문자열로 표시됩니다. 배열, 객체 또는 정보 구조를 고려한 경우, 이들은 단순한 문자열 구조의 조합의 다른 변형입니다.

PHP 문자열 비교 함수

문자열 배열 및 문자열 수 있습니다.보완적인 방식으로 제시된다. implode (배열, 기호) 함수를 사용하여 배열을 문자열로 변환합니다. 예를 들면 다음과 같습니다. $ marginins1 = implode ( ",", $ style-> getInnerMargin ()); ... 알고리즘 / 사용자의 작업 ...; $ marginins2 = implode ( ",", $ style-> getInnerMargin ())는 객체의 모든 위치를 위치 행에 병합합니다.

그런 다음 PHP 문자열 비교를 실행할 수 있습니다.한 번 : $ check = strcmp ($ marginins1, $ marginins2) 알고리즘이나 사용자가 무언가를 변경했는지 확인하십시오. 일반적인 방법으로 비교를 수행하면 배열 요소를 정렬해야합니다. 그것은 더 오래 걸리고 더 복잡해 보입니다.

객체와 문자열

객체 지향 아이디어를 통해 PHP (문자열 비교)를 더욱 효과적으로 사용할 수 있습니다.

사물의 현대 관념속성과 메서드의 존재를 가정합니다. 첫 번째 요소는 일반적으로 숫자, 문자열, 배열 및 기타 개체로 나타냅니다. 두 번째 방법은 종종 문자열에 쓰기 (넣기) 및 문자열에서 복원 (가져 오기)의 방법을 포함합니다.

배열과는 달리 객체는그 속성과 다른 객체와 상호 작용합니다. 객체는 그 프로퍼티가 알고리즘, 프로그램 전체에 진정한 가치가있는 "유능한"것입니다.

PHP는 문자열 비교

이 점은 근거와 기회를 제공합니다.필요한 정보에 한 줄만 고치고, 필요한 상태의 모든 작업 속성을 복원하기 위해 회선에서 복원 할 때 사용하는 레코드. 대개 어떤 객체에는 필수 정보와 작업 정보 (임시 정보)가 있습니다. 이 아이디어를 구현하면 메모리, 디스크 공간, 데이터베이스 레코드뿐만 아니라 문자열을보다 간단하고 정확하게 비교할 수 있습니다.

구문과 의미

PHP는 동적으로 개발되고 있습니다.라인의 비교 및 ​​처리와 관련하여 끊임없이 개선되고 있습니다. 그러나 개발자가 중점을 의미 체계로 옮기는 것을 방해하는 것은 없습니다.

의심 할 여지없이, 기능은 좋지만사용은 코드의 의미 부분으로 객체로 전달 될 수 있습니다. 알고리즘이 객체의 상호 작용 시스템으로 표현 될 때 직접 직렬, 고전 스타일의 비교 및 ​​동작 시퀀스보다 훨씬 뛰어납니다.

</ p>