Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法根据php中的日期时间值转换数组_Php_Arrays - Fatal编程技术网

无法根据php中的日期时间值转换数组

无法根据php中的日期时间值转换数组,php,arrays,Php,Arrays,我有一个名为$itemIds的数组,它由以下数据组成。键是items id,值是可以转换为可读日期的日期时间。我对php完全陌生,一些例子或提示会很棒!我很想听到你的消息 Array ( [10477] => 1508898726 [10549] => 1508898744 [10891] => 1508898752 ) 如果我使用此代码,我将从打印中获得以下数据 if (isset($itemIds)) { $time = array();

我有一个名为$itemIds的数组,它由以下数据组成。键是items id,值是可以转换为可读日期的日期时间。我对php完全陌生,一些例子或提示会很棒!我很想听到你的消息

Array
(
    [10477] => 1508898726
    [10549] => 1508898744
    [10891] => 1508898752
)
如果我使用此代码,我将从打印中获得以下数据

if (isset($itemIds)) {
    $time = array();
    foreach ($itemIds as $key => $val) {
        print_r($key.'=>'.date('m/d/Y H:i:s', $val));
    }
}
问题从这里开始。我想根据日期和时间对$itemsid进行排序和描述

10477 => 10/25/2017 11:32:06
10549 => 10/25/2017 11:32:24
10891 => 10/25/2017 11:32:32
我想对数据进行排序,然后使用array_keys$shopIds将其更改为以下数据

Array
(
    [0] => 10477
    [1] => 10549
    [2] => 10891
)

我认为更简单的方法是对数据进行排序,然后将其翻转,这样键就是值。如果你看你的数据,你最初是在处理我所看到的实际时间戳。使用它们,不要将它们更改为字符串。我这样说是因为你只是在无缘无故地让自己做额外的工作,并引入了一层不需要的复杂性。相反,我将执行以下操作:

$array = [
    10477 => 1508898726,
    10549 => 1508898744,
    10891 => 1508898752,
];
arsort($array);
$sorted_array = array_values(array_flip($array));
这很容易阅读,不涉及额外的功能。留给您的结果是:

Array
(
    [0] => 10477
    [1] => 10549
    [2] => 10891
)
一点解释:

我根据您要排序的方向使用arsort或asort,以便根据数组中的值进行排序

然后我在数组上使用array_flip来交换键和值

最后,我使用array_键重置数组中的索引并保持其排序


希望这有帮助

这是最有用的解决方案!