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

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

PHP中文网
풀어 주다: 2023-03-16 20:28:01
원래의
1782명이 탐색했습니다.

이 글은 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿