이 글은 주로 PHP에 관한 몇 가지 유용한 지식을 요약하고 참고 및 학습을 위해 공유합니다. 자세한 소개를 살펴보겠습니다.
1. 함수가 존재하는지 확인하는 PHP 함수
사용자 정의 함수를 만들 때 변수 함수의 사용법을 이해합니다. 프로그램에서 호출한 함수가 존재하는지 확인하기 위해 function_exists를 사용하여 해당 함수가 존재하는지 확인하는 경우가 많습니다. 동일한 method_exists를 사용하여 클래스 메서드가 존재하는지 검색할 수 있습니다.
<?php function func() { } if (function_exists('func')){ echo 'exists'; } ?>
class_exists를 사용하여 클래스가 정의되었는지 확인할 수 있습니다.
class MyClass{ } // 使用前检查类是否存在 if (class_exists('MyClass')) { $myclass = new MyClass(); }
PHP에는 파일이 존재하는지 여부 등을 확인하는 방법이 많이 있습니다.
$filename = 'test.txt'; if (!file_exists($filename)) { echo $filename . ' not exists.'; }
2. PHP 함수의
변수 함수, 즉 변수의 값을 통해 함수를 호출하는 것입니다. 변수의 값이 변수이기 때문에 변수의 값을 변경하여 다른 함수를 호출할 수 있습니다. 콜백 함수, 함수 목록에서 자주 사용되거나 동적 매개변수를 기반으로 다른 함수를 호출하는 데 사용됩니다. 변수 함수를 호출하는 방법은 변수 이름에 괄호를 붙이는 것입니다.
function name() { echo 'jobs'; } $func = 'name'; $func(); //调用可变函数
변수 함수를 사용하여 개체의 메서드를 호출할 수도 있습니다.
class book { function getName() { return 'bookname'; } } $func = 'getName'; $book = new book(); $book->$func();
정적 메서드도 변수를 통해 동적으로 호출할 수 있습니다
$func = 'getSpeed'; $className = 'Car'; 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 '=='; //true if ($a === $b) echo '==='; //false 对象复制,在一些特殊情况下,可以通过关键字clone来复制一个对象,这时__clone方法会被调用,通过这个魔术方法来设置属性的值。 class Car { public $name = 'car'; public function __clone() { $obj = new Car(); $obj->name = $this->name; } } $a = new Car(); $a->name = 'new car'; $b = clone $a; var_dump($b);
객체 직렬화, 객체는 직렬화 메서드를 통해 문자열로 직렬화될 수 있고, 데이터를 저장하거나 전송하는 데 사용되며, 필요할 때 역직렬화를 통해 사용할 객체로 역직렬화될 수 있습니다.
class Car { public $name = 'car'; } $a = new Car(); $str = serialize($a); //对象序列化成字符串 echo $str.'<br>'; $b = unserialize($str); //反序列化为对象 var_dump($b);
4. PHP 문자열에서 문자열 길이를 가져옵니다
//php中有一个神奇的函数,可以直接获取字符串的长度,这个函数就是strlen()。 $str = 'hello'; $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 = '99.9'; $result = sprintf('%01.2f', $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's your name?"; echo addslashes($str);//输出:what\'s your name?
위 내용은 PHP에서 꼭 배워야 할 지식 포인트(약간의 지식)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!