백엔드 개발 PHP 튜토리얼 PHP에서 꼭 배워야 할 지식 포인트(약간의 지식)

PHP에서 꼭 배워야 할 지식 포인트(약간의 지식)

Oct 30, 2017 am 10:26 AM
php 지식 포인트

이 글은 주로 PHP에 관한 몇 가지 유용한 지식을 요약하고 참고 및 학습을 위해 공유합니다. 자세한 소개를 살펴보겠습니다.

1. 함수가 존재하는지 확인하는 PHP 함수

사용자 정의 함수를 만들 때 변수 함수의 사용법을 이해합니다. 프로그램에서 호출한 함수가 존재하는지 확인하기 위해 function_exists를 사용하여 해당 함수가 존재하는지 확인하는 경우가 많습니다. 동일한 method_exists를 사용하여 클래스 메서드가 존재하는지 검색할 수 있습니다.

<?php
function func() {
}
if (function_exists(&#39;func&#39;)){
 echo &#39;exists&#39;;
}
   ?>
로그인 후 복사

class_exists를 사용하여 클래스가 정의되었는지 확인할 수 있습니다.

class MyClass{
}
// 使用前检查类是否存在
if (class_exists(&#39;MyClass&#39;)) {
 $myclass = new MyClass();
}
로그인 후 복사

PHP에는 파일이 존재하는지 여부 등을 확인하는 방법이 많이 있습니다.

$filename = &#39;test.txt&#39;;
if (!file_exists($filename)) {
 echo $filename . &#39; not exists.&#39;;
}
로그인 후 복사

2. PHP 함수의

변수 함수, 즉 변수의 값을 통해 함수를 호출하는 것입니다. 변수의 값이 변수이기 때문에 변수의 값을 변경하여 다른 함수를 호출할 수 있습니다. 콜백 함수, 함수 목록에서 자주 사용되거나 동적 매개변수를 기반으로 다른 함수를 호출하는 데 사용됩니다. 변수 함수를 호출하는 방법은 변수 이름에 괄호를 붙이는 것입니다.

function name() {
 echo &#39;jobs&#39;;
}
$func = &#39;name&#39;;
$func(); //调用可变函数
로그인 후 복사

변수 함수를 사용하여 개체의 메서드를 호출할 수도 있습니다.

class book {
 function getName() {
  return &#39;bookname&#39;;
 }
}
$func = &#39;getName&#39;;
$book = new book();
$book->$func();
로그인 후 복사

정적 메서드도 변수를 통해 동적으로 호출할 수 있습니다

$func = &#39;getSpeed&#39;;
$className = &#39;Car&#39;;
echo $className::$func(); //动态调用静态方法
   
//静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。  
class Car {
 private static $speed = 10;
  
 public static function getSpeed() {
  return self::$speed;
 }
  
 public static function speedUp() {
  return self::$speed+=10;
 }
}
class BigCar extends Car {
 public static function start() {
  parent::speedUp();
 }
}
 
BigCar::start();
echo BigCar::getSpeed();
로그인 후 복사

3. PHP 클래스 및 개체의 고급 기능

개체 비교. , 동일한 클래스의 두 인스턴스의 모든 속성이 동일한 경우 비교 연산자 ==를 사용하여 판단할 수 있습니다. 두 변수가 동일한 객체를 참조하는지 판단해야 할 경우 합동 연산을 사용할 수 있습니다. 판단을 내리기 위해 === 기호를 사용합니다.

class Car {
}
$a = new Car();
$b = new Car();
if ($a == $b) echo &#39;==&#39;; //true
if ($a === $b) echo &#39;===&#39;; //false
对象复制,在一些特殊情况下,可以通过关键字clone来复制一个对象,这时__clone方法会被调用,通过这个魔术方法来设置属性的值。 
class Car {
 public $name = &#39;car&#39;;
  
 public function __clone() {
  $obj = new Car();
  $obj->name = $this->name;
 }
}
$a = new Car();
$a->name = &#39;new car&#39;;
$b = clone $a;
var_dump($b);
로그인 후 복사

객체 직렬화, 객체는 직렬화 메서드를 통해 문자열로 직렬화될 수 있고, 데이터를 저장하거나 전송하는 데 사용되며, 필요할 때 역직렬화를 통해 사용할 객체로 역직렬화될 수 있습니다.

class Car {
 public $name = &#39;car&#39;;
}
$a = new Car();
$str = serialize($a); //对象序列化成字符串
echo $str.&#39;<br>&#39;;
$b = unserialize($str); //反序列化为对象
var_dump($b);
로그인 후 복사

4. PHP 문자열에서 문자열 길이를 가져옵니다

//php中有一个神奇的函数,可以直接获取字符串的长度,这个函数就是strlen()。
$str = &#39;hello&#39;;
$len = strlen($str);
echo $len;//输出结果是5
   
//strlen函数对于计算英文字符是非常的擅长,但是如果有中文汉字,要计算长度该怎么办?
//可以使用mb_strlen()函数获取字符串中中文长度。 
$str = "我爱你";
echo mb_strlen($str,"UTF8");//结果:3,此处的UTF8表示中文编码是UTF8格式,中文一般采用UTF8编码
로그인 후 복사

5. 문자열을 PHP 문자열로 포맷합니다. $str = '99.9'; 문자열 99.90?

PHP의 형식화된 문자열 함수 sprintf()를 사용해야 합니다.

함수 설명: sprintf(형식, 변환할 문자열)

Return: 형식화된 문자열

$str = &#39;99.9&#39;;
$result = sprintf(&#39;%01.2f&#39;, $str);
echo $result;//结果显示99.90
로그인 후 복사

설명, 위 예제의 형식

무엇을 합니까? %01.2f 무슨 뜻인가요?

1. 이 % 기호는 시작을 의미합니다. 앞에 쓰면 지정된 형식이 시작되었음을 의미합니다. 즉, "시작 문자"가 "변환 문자"가 나타날 때까지 형식이 종료됩니다.


2. % 기호 뒤에 오는 것은 0인데, 이는 "빈칸 채우기 문자"로, 해당 위치가 비어 있으면 0으로 채워진다는 의미입니다.


3. 0 뒤에 오는 것은 1입니다. 이 1은 모든 문자열 자리 표시자가 1자리 이상이어야 함을 규정합니다(소수점도 자리 표시자임).


1을 6으로 바꾸면 $result의 값은 099.90


소수점 이하 두 자리가 있어야 하므로 99.90은 총 5개의 자리 표시자가 있으니 이제 6개의 자리 표시자가 필요하므로 채워 넣으세요. 0 전체.


4. %01 뒤의 .2(포인트 2)는 이해하기 쉽습니다. 소수점 이하의 숫자는 2자리를 차지해야 한다는 의미입니다. 이때 $str의 값이 9.234라면 $result의 값은 9.23이 됩니다.


왜 4가 빠졌나요? 왜냐하면 소수점 이하에는 위의 규정에 따라 2자리만 차지해야 하고 차지할 수 있기 때문입니다. 그러나 $str의 값은 소수점 이하 3자리를 차지하므로 가수 4가 제거되고 23만 남습니다.


5. 마지막으로 f "변환 문자"로 끝납니다.

6. 문자열의 PHP 문자열 이스케이프

php 문자열 이스케이프 함수 addlashes()

함수 설명: 특수 문자에 이스케이프 문자를 추가하고 문자열을 반환하는 데 사용됨

반환 값: 1 이스케이프된 문자열

$str = "what&#39;s your name?";
echo addslashes($str);//输出:what\&#39;s your name?
로그인 후 복사

위 내용은 PHP에서 꼭 배워야 할 지식 포인트(약간의 지식)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

cakephp4에서 날짜와 시간을 다루기 위해 사용 가능한 FrozenTime 클래스를 활용하겠습니다.

CakePHP 데이터베이스 작업 CakePHP 데이터베이스 작업 Sep 10, 2024 pm 05:25 PM

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

이번 장에서는 라우팅과 관련된 다음과 같은 주제를 학습하겠습니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP 유효성 검사기 만들기 CakePHP 유효성 검사기 만들기 Sep 10, 2024 pm 05:26 PM

컨트롤러에 다음 두 줄을 추가하면 유효성 검사기를 만들 수 있습니다.

See all articles