在 php 5.2 中使用 splheap

发布于 2024-10-31 14:19:49 字数 104 浏览 2 评论 0原文

有什么方法可以在 php 5.2 中使用 splheap 吗? IE。我可以将课程粘贴到某个地方吗?具体来说,我想用它来对迭代器中的项目进行排序,我正在寻找迭代器上的 usort() 的等效项。

Is there any way to use splheap in php 5.2? Ie. could I paste the classes somewhere? Specifically I want to use it to sort items in an iterator, I'm looking for the equivalent of usort() on an iterator.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空袭的梦i 2024-11-07 14:19:49

SplHeap (与 PHP 本身提供的其他类一样) 不是用 PHP 编码的。

它实际上是用 C 语言编写的——就像 PHP 本身的其余部分一样——因此,不能只是复制粘贴到您的项目中。

将这些类引入 PHP 5.2 的唯一方法是:

  • 获取 PHP 5.3 的源代码
  • 获取 PHP 5.2 的源代码
  • 在这些类之间进行某种合并 - 合并 SplHead,以及它可以依赖的所有内容
  • 并编译您自己的版本 PHP 5.2 + 那些合并

这似乎不是一项容易的任务;我不建议这样做:您的 PHP 代码只能使用您自己的版本“PHP 5.2+merges”。

相反,考虑到 PHP 5.2 已经寿终正寝,升级到 PHP 5.3 会更明智。

SplHeap (as other classes provided by PHP itself) is not coded in PHP.

It is actually coded in C -- as the rest of PHP itself -- and, as such, cannot just be copy-pasted to your project.

The only way you'd have of getting those classes into PHP 5.2 would be to :

  • Get the sources of PHP 5.3
  • Get the sources of PHP 5.2
  • Do some kind of merge between those -- merging the definitions of SplHead, and all it can depend upon
  • And compile your own version PHP 5.2 + those merges

This doesn't seem like quite an easy task ; and I would not recommend doing it : your PHP code would only be able to work with your own version of "PHP 5.2+merges".

Instead, considering that PHP 5.2 has reached his end of life, it would be much wiser to upgrade to PHP 5.3.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文