2005-08-29 [ĹǯÆüµ]
_ Ruby ¤È PHP ¤ÎÇÛÎóÁàºîÈæ³Ó
ÇÛÎóÁàºî¤ÎÈæ³Óɽ: Ruby, Python, JavaScript, Perl, C++ ¡Ê¤¤¤ä¤Ê¥Ö¥í¥°¡Ë
ÇÛÎóÁàºî¤ÎÈæ³Óɽ¤Ï¼«Ê¬¤Î¤¿¤á¤Ë¤âºî¤Ã¤¿¤³¤È¤Ï¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢Ê̤˺®Íð¤Ï¤·¤Ê¤¤¤±¤É¡¢Ruby ¤Îʬ¤ò»Ä¤·¤Æ PHP ¤È¤ÎÈæ³Óɽ¤òµ¯¤³¤·¤Æ¤ß¤¿¡£µ¤¤Å¤¤¤Æ¤Ê¤¤¤À¤±¤Ç¤â¤Ã¤È¸¤¯½ñ¤¯ÊýË¡¤¬¤¢¤ê¤½¤¦¤Êµ¤¤â¤¹¤ë¤±¤É¡¢¤È¤ê¤¢¤¨¤º½Ð¤·¤Á¤ã¤¨¡£¤¢¡¢¥Ð¡¼¥¸¥ç¥ó½ñ¤¤¤Æ¤Ê¤«¤Ã¤¿¡£PHP4 ¤Ç¤¹¡£5 ¤ÏÃΤé¤Ê¤¤¡£¡Ê¥Þ¥Ë¥å¥¢¥ë¤â¸«¤Æ¤Ê¤¤¡£¡Ë
| Ruby | PHP |
| a = [1, 2, 3] | $a = array(1, 2, 3) |
| a.length | sizeof( $a ) or count( $a ) |
| a.empty? | empty( $a ) |
| a.push(x) | array_push( $a, $x ) or $a[] = $x |
| a.unshift(x) | array_unshift($a, $x ) |
| a.pop() | array_pop( $a ) |
| a.shift() | array_shift( $a ) |
| a.concat( b ) | $a = array_merge( $a, $b ) |
| a.clear | $a = array() |
| a.include?(x) | in_array( $x, $a ) |
| a.insert(i, x) | array_splice( $a, $i, 0, $x ) |
| a.delete(x) | |
| a.delete_at(i) | unset($a[$i])*1 |
| a.nitems{} | $b = array_count_values( $a ); $b[$x]*2 |
| a.index(x) | array_search( $a, $x ) |
| a.first | $a[0] |
| a.last | end( $a )*3 |
| a[i..j] or a.slice(i..j) | array_slice( $a, offset[, length] )*4 |
| a[i...j] or a.slice(i...j) | |
| a.sort | |
| a.sort! | sort( $a ) |
| a.reverse | array_reverse( $a ) |
| a.reverse! | $a = array_reverse( $a ) |
| a.uniq! | $a = array_unique( $a ) |
| a.join(d) | join( d, $a ) or implode( d, $a ) |
| a.each | foreach( $a as $key => $val ) |
insert ¤Ï ÇÛÎó¤Îinsert ¤Î¾ðÊó¤ò¤¤¤¿¤À¤¤Þ¤·¤¿¡£
delete ¤Ï¤Ê¤ó¤«´Ø¿ô½ñ¤«¤Ê¤¤¤È̵Íý¤Ã¤Ý¤¤¡£
[2005-08-30 Äɵ]array_push() ¤È [] ¤Ë¤Ä¤¤¤Æ¥Ä¥Ã¥³¥ß¤ò¤¤¤¿¤À¤¤¤¿¤Î¤ÇÄ´¤Ù¤Æ¤ß¤¿¡£
<?php
define( 'ACCURACY', 5 );
define( 'TIMES', 5 );
define( 'WAIT', 10000 );
function main() {
print "[]<br>\n";
for ( $i = 1; $i <= TIMES; $i++ ) {
$arr = array();
$start = get_microtime();
for ( $j = 1; $j <= WAIT; $j++ ) {
$arr[] = $j;
}
$end = get_microtime();
putime( bcsub($end, $start, ACCURACY) );
}
print "array_push()<br>\n";
for ( $i = 1; $i <= TIMES; $i++ ) {
$arr = array();
$start = get_microtime();
for ( $j = 1; $j <= WAIT; $j++ ) {
array_push( $arr, $j );
}
$end = get_microtime();
putime( bcsub($end, $start, ACCURACY) );
}
}
function get_microtime() {
list( $msec, $sec ) = split( " ", microtime() );
return bcadd( $sec, $msec, ACCURACY );
}
function putime( $sec ) {
$accuracy = (int)ACCURACY - 1;
$str = "%.".$accuracy."f sec<br>\n";
printf( $str, $sec );
}
main();
?>
·ë²Ì¤Ï¤³¤ó¤Ê´¶¤¸¡£¥Þ¥·¥ó¥¹¥Ú¥Ã¥¯¤Ï Pen!!! 800 MHz + 256MB¡£
[] 0.0421 sec 0.0415 sec 0.0419 sec 0.0415 sec 0.0416 sec array_push() 0.0559 sec 0.0563 sec 0.0561 sec 0.0560 sec 0.0557 sec
[] ¤ÎÊý¤¬Â®¤¤¤Ç¤¹¤·¥¿¥¤¥×Î̤⾯¤Ê¤¤¤±¤É¡¢¸Ä¿ÍŪ¤Ë¤Ï PHP °Ê³°¤Ë¤â¿¨¤Ã¤Æ¤¤¤ë¤È¡Ö¤Ê¤ó¤«µ¤»ý¤Á°¤¤¡×´¶¤¸¡£¤¢¤È¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹½ÅÍפȤ¤¤¦Êý¤Ï
¥¤¥Æ¥ì¡¼¥·¥ç¥ó¤Î¥Ù¥ó¥Á¥Þ¡¼¥¯ ¡ÊHaruki¤«¤é¤ÎÊ¿ÌÌÇÈ¡Ë
¤Ê¤É¤â»²¹Í¤Ë¤µ¤ì¤ë¤È¤è¤¤¤«¤È¡£
[2005-11-10 Äɵ]
ËÜÅö¤Ëº£¤µ¤é¤ó¤À¤±¤É¡¢¥Þ¥Ë¥å¥¢¥ë¤òÆÉ¤ó¤À¤é PHP ¤ÎÇÛÎó¤Ï¼ÂºÝ¤Ë¤Ï½çÈ֤Ť±¤é¤ì¤¿¥Þ¥Ã¥×¤Ç¡¢ÇÛÎó¤Ë¤â¥Ï¥Ã¥·¥å¤Ë¤â¥¥å¡¼¤Ë¤â±þÍѤ¬²Äǽ¤Ã¤Æ½ñ¤¤¤Æ¤¢¤Ã¤¿¡£
¤½¤¦¤«¡¢PHP ¤ÎÇÛÎ󡢥ϥå·¥å¼þ¤ê¤Îư¤¤¬¤É¤¦¤Ë¤âǼÆÀ¤¤¤«¤Ê¤«¤Ã¤¿¤Î¤Ï¡¢¤½¤â¤½¤â¤¬¤¤¤ï¤æ¤ë¤Á¤ã¤ó¤È¤·¤¿ÇÛÎó¤ä¥Ï¥Ã¥·¥å¤È¤·¤ÆÀ߷פµ¤ì¤¿¤â¤ó¤¸¤ã¤Ê¤¤¤«¤é¤«¡£¥ë¡¼¥×¤¬ÃÙ¤«¤Ã¤¿¤Î¤â¥Ï¥Ã¥·¥å¤Î¤¯¤»¤Ë¤Ê¤¼¤«½çÈÖ¤¬°Ý»ý¤Ç¤¤Á¤ã¤Ã¤¿¤ê¤¹¤ë¤Î¤â¡¢¤½¤¦¤¤¤¦¤ï¤±¤«
åà¸å¡âåã¼ã¡âåâ´å¡ìåá¡ãåá¨ã¡äåá¬å¥öåã㤲åá¨ãåá¨å£äåáªã¥öåã㤲åàºå¢ªåá¨å¡æåãÌ妯åâ°ã¢åá¦ã¡äåá¾å¢¦åá¶å¢°ðª êåá®é©íéèÎèÅíè¿Øå¢°ì±Èê表ã¡ìëî²èåáÊå£ìåá¦ã¡äåá¾ã¡ùåà
åá¾ã¢¡þ¾¸å¥öåã㤲åá®æÌ»åá§ã¢±åàfoo[]åàºå¢ªåá¨å¡æð£¨èåá¨árray_shift®ã¥ùåã³ã
¥Ï¥Ã¥·¥å¤Ï¤Ç¤¤Þ¤»¤ó¤¬ÇÛÎó¤Ç¤¢¤ì¤Ð array_splice($a, $i, 0, $x) ¤Ç¤¤¤±¤Ê¤¤¤Ç¤¹¤«¤Í¡© delete¤â¤¤¤±¤ë¤«¤Ê¡© array_splice($a, array_search($a, $x), 1)
¤Ï¤¸¤á¤Þ¤·¤Æ¡£
PHP¤ÏÁǿͤǤ¹¤¬(PukiWiki¤Î¥×¥é¥°¥¤¥ó¤òľ¤·¤¿¤³¤È¤¬¤¢¤ëÄøÅÙ)¡¢
¤°¤°¤Ã¤Æ¸«ÉÕ¤±¤¿PHP¤Î¥Þ¥Ë¥å¥¢¥ë¤Ë¤è¤ë¤È¡¢
http://php.s3.to/man/function.array-push.html
> Ãí°Õ: ¤â¤·ÇÛÎó¤Ë 1 ¤Ä¤ÎÍ×ÁǤò²Ã¤¨¤ë¤¿¤á¤Ë array_push()
> ¤ò»ÈÍѤ¹¤ë¤Ê¤é¡¢ ´Ø¿ô¤ò¸Æ¤Ö¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¤Ê¤¤¤Î¤Ç¡¢
> $array[] = ¤ò»ÈÍѤ¹¤ë¤Û¤¦¤¬¤¤¤¤¤Ç¤¹¡£
¤È¤¢¤ê¤Þ¤¹¡¢¤¬¡¢¤É¤¦¤Ê¤ó¤Ç¤·¤ç¤¦¤«¡©
Ï®¤Ã¤¿PukiWiki¤Î¥×¥é¥°¥¤¥ó¤Ç¤Ï³ä¤È»È¤ï¤ì¤Æ¤¿µ²±¤¬¤¢¤ê¤Þ¤¹¡£