可以';我无法从php手动示例(返回字节)中理解此函数


can't understand this function from php manual example (return bytes)

我在php手册中见过这个函数,但我不明白它是如何工作的,该函数应该将文件大小的值更改为字节。这就是的全部示例

<?php
/*
Our php.ini contains the following settings:
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) {
        // The 'G' modifier is available since PHP 5.1.0
        case 'g':
            $val *= 1024;
        case 'm':
            $val *= 1024;
        case 'k':
            $val *= 1024;
    }
    return $val;
}
?>

我不能理解的是这条

$last = strtolower($val[strlen($val)-1]);

那个就是所谓的"G"修饰符,$last变量是用来做什么的?提前感谢,

$last = strtolower($val[strlen($val)-1]);

这行代码获取$val中的最后一个字符,将其转换为小写,然后将其放入$last变量中。然后在switch语句中使用该变量对输入值应用乘数。

有关可能对您有用的一些背景信息,请参阅post_max_size