>  기사  >  백엔드 개발  >  흔하지는 않지만 매우 유용한 PHP 함수

흔하지는 않지만 매우 유용한 PHP 함수

巴扎黑
巴扎黑원래의
2016-11-23 10:12:381303검색

함수는 PHP에서 이러한 힘의 원천이지만 많은 PHP 기능이 완전히 활용되지 않습니다. 여기서는 흔하지 않지만 매우 유용한 기능 10가지를 간략하게 소개합니다.

1. sys_getloadavg()

sys_getloadavt()는 시스템 로드 상태를 얻을 수 있습니다. 이 함수는 세 가지 요소가 포함된 배열을 반환합니다. 각 요소는 지난 1분, 5분, 15분 동안 시스템의 평균 로드를 나타냅니다. 과도한 로드로 인해 서버가 충돌하도록 두는 것보다 시스템 로드가 매우 높을 때 이 기능을 달성하는 데 도움이 되는 스크립트를 적극적으로 종료하는 것이 좋습니다. 불행하게도 이 기능은 Windows에서는 유효하지 않습니다.

2. pack()

Pack()은 md5()에서 반환된 32비트 16진수 문자열을 16비트 바이너리 문자열로 변환하여 저장 공간을 절약할 수 있습니다.

3. cal_days_in_month()

cal_days_in_month()는 지정된 달의 일 수를 반환할 수 있습니다.

4. _()

워드프레스 개발자들은 _e()와 함께 이 함수를 자주 봅니다. 이 두 기능은 동일한 기능을 가지며 gettext() 기능과 함께 사용하여 웹사이트의 다국어화를 달성할 수 있습니다. 자세한 내용은 PHP 매뉴얼의 해당 부분을 참고하시기 바랍니다.

5. get_browser()

페이지를 보내기 전에 사용자의 브라우저가 무엇을 할 수 있는지 확인하는 것이 좋지 않나요? get_browser()는 사용자의 브라우저 유형과 브라우저에서 지원하는 기능을 가져올 수 있지만 먼저 해당 기능에 대한 참조 파일 역할을 할 php_browscap.ini 파일이 필요합니다.

이 기능의 브라우저 기능 판단은 이러한 유형의 브라우저의 일반적인 특성을 기반으로 한다는 점에 유의해야 합니다. 예를 들어, 사용자가 브라우저에서 JavaScript 지원을 끈 경우 함수는 이를 알 수 없습니다. 그러나 이 기능은 브라우저 유형과 OS 플랫폼을 결정하는 데 여전히 매우 정확합니다.

6. debug_print_backtrace()

코드의 논리적 오류를 찾는 데 도움을 주는 디버깅 기능입니다. 이 함수를 이해하기 위해 예를 살펴보겠습니다.

$a = 0;   
function iterate() {    
global $a;    
if( $a < 10 )    
recur();    
echo $a . “, “;    
}    
function recur() {    
global $a;    
$a++;    
// how did I get here?    
echo “\n\n\n”;    
debug_print_backtrace();    
if( $a < 10 )    
iterate();    
}    
iterate();

# OUTPUT:
#0 recur() 호출됨 at [C:htdocsphp_stuffindex.php:8]
#1 iterate( ) [C:htdocsphp_stuffindex.php:25]에서 호출
#0 recur() [C:htdocsphp_stuffindex.php:8]에서 호출
#1 iterate() [C:htdocsphp_stuffindex.php:21]에서 호출
#2 recur()가 [C:htdocsphp_stuffindex.php:8]에서 호출됨
#3 iterate()가 [C:htdocsphp_stuffindex.php:25]에서 호출됨
#0 recur()가 [C: htdocsphp_stuffindex.php:8] 
#1 iterate()가 [C:htdocsphp_stuffindex.php:21]에서 호출됨 
#2 recur()가 [C:htdocsphp_stuffindex.php:8]에서 호출됨 
#3 iterate () [C:htdocsphp_stuffindex.php:21]에서 호출
#4 recur() [C:htdocsphp_stuffindex.php:8]에서 호출
#5 iterate() [C:htdocsphp_stuffindex.php: 25에서 호출) ]

7. 메타폰()

이 함수는 단어의 메타폰 값을 반환합니다. 즉, 이 함수는 단어 간의 관계를 파악하는 데 도움이 됩니다. 두 단어의 발음이 같은지 여부입니다.

8. natsort()

natsort()는 자연스러운 정렬 방법으로 배열을 정렬할 수 있습니다. 예를 살펴보겠습니다.

$items = array(   “100 apples”, “5 apples”, “110 apples”, 55 apples”    
);    
// normal sorting:    
sort($items);    
print_r($items);

# 출력:
# 배열 
# ( 
# [0] => 사과 100개 
# [1] => 사과 110개 
# [2] => 사과 5개 
# [ 3] => 사과 55개 
# ) 

Php 코드 

natsort($items);      
print_r($items);


# 출력: 
# 배열 
# ( 
# [2] => 사과 5개 
# [3] => 사과 55개 
# [0] => 사과 100개 
# [1] => 사과 110개 
# )

9. levenshtein()

Levenshtein()은 두 단어 사이의 "거리"를 알려줍니다. 한 단어를 다른 단어로 바꾸려면 삽입, 교체, 삭제해야 하는 문자 수를 알려줍니다.

예를 살펴보겠습니다.

Php 코드

$dictionary = array(   “php”, “javascript”, “css”      
);      
$word = “japhp”;      
$best_match = $dictionary[0];      
$match_value = levenshtein($dictionary[0], $word);      
foreach($dictionary as $w) {      
$value = levenshtein($word, $w);      
if( $value < $match_value ) {      
$best_match = $w;      
$match_value = $value;      
}      
}  
    echo “Did you mean the ‘$best_match’ category?”;


glob()

glob ( )는 opendir(), readdir() 및 closedir()을 사용하여 파일을 찾는 것이 어리석은 느낌을 갖게 합니다.

PHP 코드

foreach (glob(“*.php”) as $file)   echo “$file\n”;


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