我的代码是:
$arr=[02,05,07,08,09];
print_r($arr)
,输出为:
Array
(
[0] => 2
[1] => 5
[2] => 7
[3] => 0
[4] => 0
)
为什么会将08
和09
转换为0
??
答案 0 :(得分:10)
以零开头的数字被视为基数为8。
请参阅PHP文档:Integers - Syntax。
要使用八进制表示法,请在数字前面加上0(零)。要使用十六进制表示法,请在数字前面加上0x。要使用二进制表示法,请在数字前加上0b。
答案 1 :(得分:0)
它被视为八进制数。因为你是从零开始的。
SELECT s.id,s.tag,s.version FROM (
SELECT t.*,
ROW_NUMBER() OVER(PARTITION BY t.id ORDER BY t.version DESC) as rnk
FROM YourTable t) s
WHERE s.rnk = 1