【问题标题】:PHP - Sort Array by indexPHP - 按索引排序数组
【发布时间】:2018-07-18 11:52:53
【问题描述】:

我有这个数组(sn-p)

array (size=631)
  0 => string '11:27:35.750 INFO - Selenium build info: version: '3.4.0', revision: 'unknown'
' (length=80)
  1 => string '11:27:35.751 INFO - Launching a standalone Selenium Server
' (length=60)
  2 => string '2018-07-17 11:27:35.785:INFO::main: Logging initialized @534ms to org.seleniumhq.jetty9.util.log.StdErrLog
' (length=108)
  3 => string '11:27:35.890 INFO - Driver class not found: com.opera.core.systems.OperaDriver
' (length=80)
  4 => string '11:27:35.891 INFO - Driver provider com.opera.core.systems.OperaDriver registration is skipped:
' (length=97)
  5 => string 'Unable to create new instances on this machine.
' (length=49)
  6 => string '11:27:35.891 INFO - Driver class not found: com.opera.core.systems.OperaDriver
' (length=80)
  7 => string '11:27:35.891 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
' (length=90)
  8 => string '11:27:35.893 INFO - Driver provider org.openqa.selenium.safari.SafariDriver registration is skipped:
' (length=102)
  9 => string ' registration capabilities Capabilities [{browserName=safari, version=, platform=MAC}] does not match the current platform WIN10
' (length=130)
  10 => string '2018-07-17 11:27:35.966:INFO:osjs.Server:main: jetty-9.4.3.v20170317

是否有一个内置函数可以按索引对该数组进行排序,使索引 pos 0 的内容为 10,反之亦然?

还是我必须自己写?

【问题讨论】:

标签: php sorting


【解决方案1】:

您似乎在寻找array_reverse

<?php
$input  = array("php", 4.0, array("green", "red"));
$reversed = array_reverse($input);
$preserved = array_reverse($input, true);

print_r($input);
print_r($reversed);
print_r($preserved);
?>

输出:

Array
(
    [0] => php
    [1] => 4
    [2] => Array
        (
            [0] => green
            [1] => red
        )

)
Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

【讨论】:

    【解决方案2】:

    好的,我找到了解决方案。我必须使用函数array_reverse

    【讨论】:

    • 您的问题措辞非常糟糕,因为您要求按索引排序,而不是倒车。也许为此编辑您的问题。
    • 是一样的吗?有什么不同。
    • 不,按索引排序会有所不同,您想颠倒顺序(您的示例已经按索引排序/排序)。
    • 另外:您希望在位置 10 处具有索引 0,但您的示例数组的大小为 631。因此无法通过反转将 0 移动到 10,并且没有可见的排序逻辑。如果 array_reverse 是解决方案,请编辑问题以澄清这一点,因此这对于在 stackoverflow 搜索类似问题的任何人都很有用。
    • "您的示例数组的大小为 631" 你认为我会在这里发布整个数组吗?当然,这只是一个 sn-p,正如我已经提到的,将 10 移动到 0 只是一个示例。
    猜你喜欢
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 2012-11-07
    • 1970-01-01
    • 2020-02-21
    • 2015-11-02
    相关资源
    最近更新 更多