[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
|