【发布时间】:2015-05-08 19:19:02
【问题描述】:
鉴于此 list.txt 文件:
9
10
19
你猜怎么着?
max(split("\n",$file_handle)) gives me 9
max(explode(PHP_EOL,$file_handle)) gives me 9
现在,在一个字符串上:
$string = "9
10
19";
max(split("\n",$string)) gives me 19
更新:从文件中读取时,我得到字符串,而 max() 在比较字符串值时似乎找不到正确的最大值?! 9 大于 10。字符串上的相同文件内容可以正常工作。 file_get_contents()/fread() 同样的问题。
【问题讨论】:
-
你上面提到的 90 是我对字符串比较的期望,因为它从第一个字符开始,并且 9 大于 100 中的第一个。我不确定用 PHP 做的最好方法,但你可能想要这样的东西:stackoverflow.com/questions/9593765/…
-
工作正常:3v4l.org/qgnnZ。从文件读取有问题。
-
是的,sectus,这就是问题所在。从文件中读取时,它被解释为“字符串”,因此 9 大于 10。我想知道为什么?
-
不,max 适用于数字字符串。显示你的阅读情况。
-
似乎没有......当我转换为数字时,它可以成功找到正确的最大值。
标签: php