- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
<分区>
让我从头告诉你:我知道这个函数的排序标志。当我使用 SORT_STRING
时,它运行良好,但默认标志 SORT_REGULAR
运行异常,或者根本不起作用。
考虑如下数组。
$arr = [
'27a' => 'foo',
'27b' => 'foo',
'27c' => 'foo',
'27' => 'foo',
];
当我尝试使用 ksort 进行排序时,它给出了一个数组,但没有按照任何明显的逻辑进行排序。
ksort($arr);
print_r($arr);
// this prints
Array
(
[27a] => foo
[27] => foo
[27b] => foo
[27c] => foo
)
可以说,键既不是数字也不是字母数字,也不是自然排序。更奇怪的是,当我改变源数组的顺序时,它给出了不同的结果:
$arr = [
'27a' => 'foo',
'27' => 'foo',
'27b' => 'foo',
'27c' => 'foo',
];
ksort($arr);
print_r($arr);
// this prints
Array
(
[27b] => foo
[27c] => foo
[27] => foo
[27a] => foo
)
有人知道这背后的逻辑吗?这是错误还是我遗漏了什么?
编辑:感谢大家对我的问题感兴趣并回答我的问题。虽然它被标记为重复,但另一个问题没有提到更奇怪的部分:为什么改变源数组的顺序会改变结果?它应该使用相同的输入集给出相同的结果。我们也要讨论这个吗?
在我的测试服务器上修复我的 PHP 应用程序后,我将它推送到我的生产服务器,但修复没有起作用。追踪之后,我发现 ksort() 仅在我的生产服务器上导致索引键溢出大于最大 32 位带符号值 (2147
'7833', 'd'=>'1297', 'c'=>'341', '1'=>'67', 'b'=>'225', '3'=
这个问题在这里已经有了答案: ksort produces wrong result when dealing with alphanumeric characters (6 个答案) 关闭 4 年
我有一个数组,其中键是葡萄牙语中的单词,我试图在不考虑重音的情况下对键进行排序。 我有以下代码,但它不起作用。 $array = array('ábaco' => 1,
我有一个问题所以我有这个数组: Array ( [2016] => Array ( [23] => Array ( [t
我有一个这样的数组: Array( [31] => 1 [30] => 2 [29] => 3 [28] => 4 ) 然后我使用 ksort($array) 将其排序
周末我用 preg_replace 做了一些工作,我正在阅读 Php preg_replace documentation当我看到奇怪的东西时。 文档中的示例 #2 显示,当给出以下 php 代码时
我从没想过我会问这个...我需要一种在 C# 中模仿 PHP 的 ksort 函数的方法。 这就是问题所在...PHP 这样做... PHP 代码 $arr = array( "tagValu
我使用 1.10 构建了一个 ZF 应用程序,用于部署在公司客户端的 RHEL 服务器上,该客户端具有 PHP 5.1.6。它不会运行。 我用谷歌搜索了一下,现在意识到这是 PHP 的版本。我没有意识
我是一名优秀的程序员,十分优秀!