php数字与字符串比较

 1 <?php
 2     /* 数字与字符串比较测试 */
 3     // 数字0与空字符串比较
 4     if (0 == '')        
 5         echo "0 == ''<br/>";        // ok
 6     
 7     // 数字0与字符串'0'比较
 8     if (0 == '0')
 9         echo "0 == '0'<br/>";        // ok
10         
11     // 数字0与字符串'0.0'比较
12     if (0 == '0.0')
13         echo "0 == '0.0'<br/>";        // ok
14         
15     // 数字0与字符串'00'比较
16     if (0 == '00')
17         echo "0 == '00'<br/>";        // ok
18 
19     // 数字0与字符串'1'比较
20     if (0 == '1')
21         echo "0 == '1'<br/>";        // not ok
22         
23     // 数字0与字符串'a'比较
24     if (0 == 'a')
25         echo "0 == 'a'<br/>";        // ok!!!
26         
27     // 数字0与字符串'b'比较
28     if (0 == 'b')
29         echo "0 == 'b'<br/>";        // ok!!!    
30         
31     // 数字0与字符串'as8dfu9asfofosj24279sjdf'比较
32     if (0 == 'as8dfu9asfofosj24279sjdf')
33         echo "0 == 'as8dfu9asfofosj24279sjdf'<br/>";        // ok!!!
34     
35     // 数字0与字符串'2a'比较
36     if (0 == '2a')
37         echo "0 == '2a'<br/>";        // not ok
38         
39     // 数字0与字符串'0a'比较
40     if (0 == '0a')
41         echo "0 == '0a'<br/>";        // ok
42 ?>

 解释

<?php
    echo (float)'a' . '<br/>';        // 0
    echo (float)'2a' . '<br/>';        // 2
    echo (float)'a2a' . '<br/>';    // 0
    echo (float)'22a' . '<br/>';    // 22
?>

php对于有些含有字母的字符串先自动转为0再比较,

而对于以数字开头的字符串先自动转为相应的数字再比较。

posted on 2013-04-01 16:25  刘宝成  阅读(233)  评论(0编辑  收藏  举报

导航