> php教程 > PHP源码 > PHP는 대규모 배열에서 임의의 작은 배열을 신속하게 가져옵니다.

PHP는 대규모 배열에서 임의의 작은 배열을 신속하게 가져옵니다.

大家讲道理
풀어 주다: 2016-11-11 09:45:29
원래의
1357명이 탐색했습니다.

사용자가 무엇을 좋아하는지 추측하는 기능이 있습니다. 사용자는 그룹 변경을 클릭하여 추천 콘텐츠를 새로 고칠 수 있습니다.

먼저 데이터베이스를 쿼리하여 처음 1000개의 데이터를 가져온 다음 무작위로 4개를 제거합니다.

프로그램 작성을 마친 후 새로 고칠 때마다 실행 속도가 매우 느려지는 것을 발견했습니다.

코드는 다음과 같습니다.

$arr = range(1, 100000);
$start = time();
for($i = 0; $i < 100; $i ++){
    $key = mt_rand(0, 99999 - $i);
    $result[] = $arr[$key];
    unset($arr[$key]);
    sort($arr);
}
$end = time();
echo $end - $start;
로그인 후 복사

위 작성 방법은 unset을 사용한 후 정렬해야 합니다.

설정을 해제하면 키 값만 삭제되고 키는 유지됩니다.

개선된 글쓰기는 다음과 같습니다.

$arr = range(1, 100000);
$start = time();
for($i = 0; $i < 100; $i ++){
    $key = mt_rand(0, 99999 - $i); 
    $result[] = array_splice($arr, $key, 1);
}
$end = time();
echo $end - $start;
로그인 후 복사

효율이 3~4배 증가했습니다.

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