【发布时间】:2016-05-25 10:54:02
【问题描述】:
我已经创建了使用如下值对数组进行排序的方法:array('regdate','birthday','editdate') 它应该以包含单词日期的元素应该向左移动的方式对元素进行排序array('regdate','editdate','birthday')
public function sortColumnsBySubstring($haystack, $substr){
if ($haystack == $substr) {
return 0;
}
return strpos($substr) !== false ? -1 : 1;
}
但是我不清楚如何使它工作。我在 php 手册中找到的示例显示了没有参数或闭包的函数 - 我使用 php 版本 5.2,所以我不能使用闭包。
我能想到的就是这个usort($date_cols, $this->sortColumnsBySubstring($value, 'date'),但这里 $value 是未定义的,所以它不是解决方案。
问题是如何实现该功能才能正常工作?
【问题讨论】:
-
或许,this 可以帮到你。
-
3v4l.org/eVP1P 看看这个
-
@ali 这是一个有趣的解决方案,但由于闭包,代码在我的 php 版本上不起作用。
-
你在使用 PHP 4 之前的版本吗?因为这适用于 PHP 4、5、7。见php.net/manual/en/function.array-walk.php