http://cn.php.net/manual/zh/function.ord.php

解决方案 »

  1.   

    或者用sprintf()格式化输出,用法跟c里面一样
      

  2.   

    $a='a';其实$a也等于97这句话是错的!$a='a';是指他的ACCII值为07,强制类型转化的时候不一定按这个转.想取得他的值97可以用ORD($a).至于类型转换可以看看下面的文章.string类型转INT有的时候会出错!就变成0了.
    PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。 
    允许的强制转换有: (int),(integer)            - 转换成整型 
    (bool),(boolean)           - 转换成布尔型 
    (float),(double),(real)    - 转换成浮点型 
    (string)                   - 转换成字符串 
    (array)                    - 转换成数组 
    (object)                   - 转换成对象
    注意在括号内允许有空格和制表符
    还可以用settype ( mixed var, string type )进行强制转换.    1.强制转换为布尔值 (bool)|(boolean)要明示地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制需要一个 boolean 参数时,该值会被自动转换。 当转换为 boolean 时,以下值被认为是 FALSE: 布尔值 FALSE
    整型值 0(零)
    浮点型值 0.0(零)
    空白字符串和字符串 "0" 
    没有成员变量的数组
    没有单元的对象(仅适用于 PHP 4)
    特殊类型 NULL(包括尚未设定的变量)
    所有其它值都被认为是 TRUE(包括任何资源)。 ?php
    var_dump((bool) ""); // bool(false)
    var_dump((bool) 1); // bool(true)
    var_dump((bool) -2); // bool(true)
    var_dump((bool) "foo"); // bool(true)
    var_dump((bool) 2.3e5); // bool(true)
    var_dump((bool) array(12)); // bool(true)
    var_dump((bool) array()); // bool(false)
    var_dump((bool) "false"); // bool(true)
    ?>
     
        2.强制转换为整形(int)|(integer)
    要明示地将一个值转换为 integer,用 (int) 或 (integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。还可以通过函数 intval() 来将一个值转换成整型。 a.从bool转换
    b.从浮点数转换     取整,超出范围,结果不定
    c.从字符串转换     参看字符串转换为数值
    d.从其它类型转换   先换成 bool值,再转换决不要将未知的分数强制转换为 integer,这样有时会导致意外的结果。
    <?php
    echo (int) ( (0.1+0.7) * 10 ); // 显示 7
    ?>$str = "123.456abc7";  // (int)123
    echo (int)$str;
    $str = "abc123.456";   // (int)0
    $str = true;           // (int)1
    $str = false;          // (int)0
        3.强制转换为浮点型 (int)|(double)|(real)|doubleval()|floatval()|intval() 
    精度: 0.12345678901234  // double,real都一样
    数据的丢失参 字符串转换为数值    
        4.强制换为字符串 (string) |strval()可以用 (string) 标记或者 strval() 函数将一个值转换为字符串。当某表达式需要字符串时,字符串的转换会在表达式范围内自动完成。例如当使用 echo() 或者 print() 函数时,或者将一个变量值与一个字符串进行比较的时候。 布尔值 TRUE 将被转换为字符串 "1",而值 FALSE 将被表示为 ""(即空字符串)。这样就可以随意地在布尔值和字符串之间进行比较。 
    整数或浮点数数值在转换成字符串时,字符串由表示这些数值的数字字符组成(浮点数还包含有指数部分)。 
    数组将被转换成字符串 "Array",因此无法通过 echo() 或者 print() 函数来输出数组的内容。请参考下文以获取更多提示。 
    对象将被转换成字符串 "Object"。如果因为调试需要,需要将对象的成员变量打印出来,请阅读下文。如果希望得到该对象所依附的类的名称,请使用函数 get_class()。自 PHP 5 起,如果合适可以用 __toString() 方法。 
    资源类型总是以 "Resource id #1" 的格式被转换成字符串,其中 1 是 PHP 在运行时给资源指定的唯一标识。如果希望获取资源的类型,请使用函数 get_resource_type()。 
    NULL 将被转换成空字符串。
    正如以上所示,将数组、对象或者资源打印出来,并不能提供任何关于这些值本身的有用的信息。请参阅函数 print_r() 和 var_dump(),对于调试来说,这些是更好的打印值的方法。 
    可以将 PHP 的值转换为字符串以永久地储存它们。这种方法被称为序列化,可以用函数 serialize() 来完成该操作。如果在安装 PHP 时建立了 WDDX 支持,还可以将 PHP 的值序列化为 XML 结构。 
        4. 强制转换为数组 (array)对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。 
    如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。 
    如果将一个 NULL 值转换成数组,将得到一个空数组。 
         
        5. 转换为对象 (object)如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,内置类 stdClass 的一个实例将被建立。如果该值为 NULL,则新的实例为空。数组转换成对象将使键名成为属性名并具有相对应的值。对于任何其它的值,名为 scalar 的成员变量将包含该值
        6. 转换为资源 (无法转换)
    由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此无法将其它类型的值转换为资源。■PHP 类型比较表(看手册附录P)
    以下的表格显示了 PHP 类型和比较运算符在松散和严格比较时的作用。该补充材料还和类型戏法的相关章节内容有关。