sun's longitude:243 03 0.43 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  
알파문서
자주 잊어먹거나, 메모해 둘 필요성이 있는 팁이나 문서, 기타 등등
[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
41 번 글: [PHP] array() 속도 튜닝
글쓴이: 산이 [홈페이지] 글쓴날: 2003년 08월 04일 07:29:53 월(오전) 조회: 4182
php-speedup.txt02 KB(2,196 Bytes) 파일명: php-speedup.txt
[PHP] array() 속도 튜닝

http://www.blueshoes.org/phpBench.php

-- 목차 --------------------------------------
0. for() 문 조건(배열개수가
 클 경우)
1. use array-reference(1)
2. use array-reference(2)
3. is_array() 조건
4. $array 의 key만 사용할 경우
5. $array 의 value 만 사용할 경우
----------------------------------------------


* 예제 배열

  $arr = array
  (
	'foo1'=>'some1',
	'foo3'=>'some3',
	'foo8'=>'some8',
	...
  );

  $lists =
  (
	array('foo1','bar1','...'),
	array('foo2','bar2','...'),
	array('foo3','bar3','...'),
	...
  );


0. for() 문 조건(배열개수가
 클 경우)

  ## not good
  ##
  //for($i=0; $i<sizeof($lists); $i++) ...

  ## good
  ##
  $size = sizeof($lists);
  for($i=0; $i<$size; $i++) ...

  ## good (mixed)
  ##
  for($i=0; $size=sizeof($lists); $i<$size; $i++) ...

1. use array-reference(1)

  $list = $lists[$i];

  ## not good
  ##
  //$array[$list[0]] = $list[1];

  ## good, use reference
  ##
  $array[$list[0]] = &$list[1];

  ## result $array
  ##
  $array =
  (
	'foo1'=>'bar1',
	'foo2'=>'bar2',
	'foo3'=>'bar3',
	...
  );


2. use array-reference(2)

  for($i=0; $i<$size; $i++)

  ## not good
  ##
  //if($arr[$keys[$i]]) $tmp[] = $array[$keys[$i]];

  ## some good
  ##
  //if($arr[$keys[$i]]) $tmp[] = &$array[$keys[$i]];

  ## good
  ##
  if($f=$arr[$keys[$i]]) $tmp[] = $f;

  ## but this not good
  ##
  if($f=$arr[$keys[$i]]) $tmp[] = &$f;


3. is_array() 조건

  ## not good
  ##
  //if(is_array($array)) ...

  ## good
  ##
  if($array && is_array($array)) ...


4. $array 의 key만 사용할 경우

  ## not good
  ##
  //foreach($array AS $key=>$val)
  //{ if($arr[$key]) $tmp[] = $arr[$key]; }

  ## good
  ##
  $keys = array_keys($array);
  $size = sizeof($keys);

  for($i=0; $i<$size; $i++)
  { if($f=$arr[$keys[$i]]) $tmp[] = $f; }


5. $array 의 value 만 사용할 경우

  ## not good
  ##
  //foreach($array AS $key=>$val) ...

  ## not good
  ##
  //while(list(,$val)=each($array)) ...

  ## good
  ##
  foreach($array AS $val) ...

  ## some good
  ##
  $values = array_values($array);
  $size = sizeof($values);
  for($i=0; $i<$size; $i++) ... &$values[$i] ...




EOF

 
이전글 : [PHP] type and converting
다음글 : Re: [PHP] array_values() VS sort()  
 from 61.254.75.40
JS(Redhands)Board 0.4 +@

|글쓰기| |답장쓰기| |수정|
|이전글| |다음글| |목록보기|
인쇄용 

apache lighttpd linuxchannel.net 
Copyright 1997-2024. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds