<?php /* 我们的 php.ini 包含了以下的设置: display_errors = On register_globals = Off post_max_size = 8M */ echo 'display_errors = ' . ini_get ( 'display_errors' ) . "\n" ; echo 'register_globals = ' . ini_get ( 'register_globals' ) . "\n" ; echo 'post_max_size = ' . ini_get ( 'post_max_size' ) . "\n" ; echo 'post_max_size+1 = ' . ( ini_get ( 'post_max_size' )+ 1 ) . "\n" ; echo 'post_max_size in bytes = ' . return_bytes ( ini_get ( 'post_max_size' )); function return_bytes ( $val ) { $val = trim ( $val ); $last = strtolower ( $val [ strlen ( $val )- 1 ]); switch( $last ) { // 自 PHP 5.1.0 起可以使用修饰符 'G' case 'g' : $val *= 1024 ; case 'm' : $val *= 1024 ; case 'k' : $val *= 1024 ; } return $val ; } /*输出为以下内容 display_errors = register_globals = post_max_size = 8M post_max_size+1 = 9 post_max_size in bytes = M */ ?>
1. "post_max_size+1"这个变量为什么会是9?难道字符串与整型相加字母会自动转为0?
2. 注释掉switch语句后,$last为什么会输出m?
3. $last = strtolower ( $val [ strlen ( $val )- 1 ]); 为什么$val是[strlen ( $val )- 1],而不是(strlen ( $val )- 1)?
[],()这两种括号有什么区别?
qq_青枣工作室_0