함수는 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”;