이 글에서는 PHP에서 강력하지만 거의 사용되지 않는 기능을 주로 소개하고, 함수 호출, 등록, 호출, 판단 및 기타 조작 기술을 포함하여 PHP에서 매우 실용적인 여러 기능을 예제 형식으로 요약하고 분석합니다. 도움이 필요한 친구들이 참고하면 좋을 것 같아요.
자세한 내용은 다음과 같습니다.
call_user_func_array — 배열 형식의 매개변수를 사용하여 함수 호출
call_user_func — 기존 함수 호출
create_function — 함수 생성
func_get_arg — 함수에서 매개변수 값 가져오기
func_get_args — 함수 가져오기 모든 매개변수가 배열로 결합됩니다.
func_num_args — 함수의 매개변수 개수 가져오기
function_exists — 함수 존재 여부 확인
get_define_functions — 기존 함수 정보 가져오기
register_shutdown_function — 페이지 이후에 실행될 함수 등록 로드됨
register_tick_function — 요청 시 호출된 함수 등록
unregister_tick_function — 요청 시 호출된 함수 취소
get_define_functions는 모든 PHP 함수와 사용자 정의 함수를 가져올 수 있습니다.
<?php function a(){} $b = get_defined_functions(); print_r($b); //也许会显示1000多个已定义了的函数:) ?>
function_exists 함수는 함수가 존재하는지 확인합니다(PHP 함수일 수 있음) 또는 사용자 정의 기능).
<?php if (function_exists('a')) { echo "yes"; } else { echo "no"; } function a(){} // 显示 yes ?>
call_user_func 함수는 함수를 호출하는 특별한 방법과 유사합니다. 사용 방법은 다음과 같습니다.
<?php function a($b,$c) { echo $b; echo $c; } call_user_func('a', "111","222"); call_user_func('a', "333","444"); //显示 111 222 333 444 ?>
클래스 내부에서 메서드를 호출하는 것이 이상합니다. 실제로는 배열을 사용합니다. 물론 개발자의 생각은 생략되었습니다. new도 새로운 아이디어로 가득 차 있습니다.
<?php class a { function b($c) { echo $c; } } call_user_func(array("a", "b"),"111"); //显示 111 ?>
call_user_func_array 함수는 call_user_func의 구조를 만들기 위해 매개변수가 다른 방식으로 전달된다는 점을 제외하면 call_user_func와 매우 유사합니다. 매개변수 명확화:
<?php function a($b, $c) { echo $b; echo $c; } call_user_func_array('a', array("111", "222")); //显示 111 222 ?>
call_user_func 함수와 call_user_func_array 함수 모두 참조를 지원하므로 일반 함수 호출과 기능적으로 더 일관성이 있습니다.
<?php function a(&$b) { $b++; } $c = 0; call_user_func('a', &$c); echo $c;//显示 1 call_user_func_array('a', array(&$c)); echo $c;//显示 2 ?>
func_num_args 함수는 함수에서 수신한 매개변수 수를 가져올 수 있습니다.
<?php function a() { echo func_num_args(); } a(111, 222, 333); //显示 3 ?>
func_get_arg 함수는 다음을 수행할 수 있습니다. 다음 예에서는 함수에서 어떤 매개변수가 허용되는지 지정하지 않습니다. func_get_arg를 사용하여 추가 매개변수를 얻을 수도 있습니다.
<?php function a() { echo func_get_arg(1); } a (111, 222, 333); //显示 222 ?>
func_get_args 함수는 func_get_arg와 매우 유사합니다. 모든 매개변수를 배열로 호출합니다.
<?php function a() { $numargs = func_num_args(); $b = func_get_args(); for ($i = 0; $i < $numargs; $i++) { echo $b[$i]; } } a(111, 222, 333); //显示 111 222 333 ?>
create_function 함수를 생성할 수 있습니다. 익명 함수(기본적으로 PHP에서 함수 이름은lambda_1,lambda_2)처럼 보이지만 두 번째 문이 이상하다는 점에 유의하세요. 매개변수는 ";"로 구분되어야 합니다.
<?php $newfunc = create_function('$a,$b', 'return $a + $b;'); echo $newfunc; echo $newfunc(2, 3); //显示 lambda_1 5 ?>
register_shutdown_function 함수는 페이지가 로드된 후 실행되는 함수를 등록할 수 있습니다(함수는 캐싱과 약간 비슷합니다). call_user_func 함수:
<?php function a() { echo 222 ; } echo 111; register_shutdown_function('a'); //显示 111 222 ?>
<?php class a { function b ($c) { echo $c; } } register_shutdown_function (array ('a', 'b'), '111'); //显示 111 ?>
register_tick_function 및 unregister_tick_function은 선언 프로세스 제어 메커니즘과 결합되어야 합니다. 그런 다음 먼저 선언 및 틱을 이해하겠습니다.
declare (directive){ statement }
Tick은 인터프리터가 선언 코드에서 N 개의 하위 수준 문을 실행할 때마다 발생하는 이벤트입니다. 분절. N 값은 선언의 지시문 부분에서 Ticks=N으로 지정됩니다. 각 틱에서 발생하는 이벤트는 Register_tick_function()에 의해 지정됩니다. 예는 다음과 같습니다.
<? function foo($str) { static $i = 0; print "$str: $i<br>"; $i++; } register_tick_function("foo", "count"); declare (ticks = 6) { for($i=0; $i<20; $i++) { echo "$i<br>"; } } ?>
이 예의 선언(ticks = N){statement} 프로세스 제어에서는 6줄의 코드(ticks = 6)가 실행될 때마다 foo() 함수가 한 번 실행되어야 합니다. 틱 값을 변경하면 다른 실행 결과를 얻을 수 있습니다.
관련 추천 :
PHP 함수 실행 효율성의 소소한 비교_PHP Tutorial
php 함수 사용 방법과 함수 정의 방법_ PHP Tutorial
위 내용은 강력하지만 거의 사용되지 않는 PHP 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

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

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.
