使用所有字段按参数对 php 中的数组数组进行排序

sort array of arrays in php by parameter with all the fields

嘿,我在 php 中有这个对象。我想按时间戳对变量 $tempData

中的数组进行排序
array (
  0 => 
  array (
    'Timestamp' => '2022-02-21 06:00',
    'Date' => '2022-02-21',
    'Hour' => '06',
 
  ),
  1 => 
  array (
    'Timestamp' => '2022-02-21 08:00',
    'Date' => '2022-02-21',
    'Hour' => '08',
  
  ),
  2 => 
  array (
    'Timestamp' => '2022-02-21 03:00',
    'Date' => '2022-02-21',
    'Hour' => '03',

  ),
  3 => 
  array (
    'Timestamp' => '2022-02-21 00:00',
    'Date' => '2022-02-21',
    'Hour' => '00',

  ),
)  

我尝试使用来自 的代码

$sortedArray = array();
            foreach ($tempData as $key => $row)
            {
            $sortedArray[$key] = $row['Timestamp'];
            }
            array_multisort($sortedArray, SORT_DESC, $tempData);

结果是

[2022-02-21 05:26:30] local.INFO: The sorted data are:   
[2022-02-21 05:26:30] local.INFO: array (
  0 => '2022-02-21 06:00',
  1 => '2022-02-21 08:00',
  2 => '2022-02-21 03:00',
  3 => '2022-02-21 00:00',

但是我需要显示所有原始数组,所有对象。这意味着它将是与所有节点的 $tempData 相同的对象,但已排序,而不仅仅是对字段进行排序。 有人可以建议吗?

我也试过这段代码:

function asc_sort_json($array1,$array2){
            $on = 'Timestamp';
            if ($array1[$on] == $array2[$on]) {
                return 0;
            }
            return ($array1[$on] < $array2[$on]) ? -1 : 1;
        }

        usort($tempData, "asc_sort_json");

并得到这个错误:

local.ERROR: usort() expects parameter 2 to be a valid callback, function 'asc_sort_json' not found or invalid function name {"exception":"[object] (ErrorException(code: 0): usort() expects parameter 2 to be a valid callback, function 'asc_sort_json' not found or invalid function name at 
$tempData = [
  [
    'Timestamp' => '2022-02-21&nbsp;06:00',
    'Date' => '2022-02-21',
    'Hour' => '06',
 
  ],
  [
    'Timestamp' => '2022-02-21&nbsp;08:00',
    'Date' => '2022-02-21',
    'Hour' => '08',
  
  ],
  [
    'Timestamp' => '2022-02-21&nbsp;03:00',
    'Date' => '2022-02-21',
    'Hour' => '03',

  ],
  [
    'Timestamp' => '2022-02-21&nbsp;00:00',
    'Date' => '2022-02-21',
    'Hour' => '00',
  ],
];

$Timestamp = array_column($tempData, 'Timestamp');

array_multisort($Timestamp, SORT_DESC, $tempData);

print_r($tempData);

输出:

Array
(
    [0] => Array
        (
            [Timestamp] => 2022-02-21 08:00
            [Date] => 2022-02-21
            [Hour] => 08
        )

    [1] => Array
        (
            [Timestamp] => 2022-02-21 06:00
            [Date] => 2022-02-21
            [Hour] => 06
        )

    [2] => Array
        (
            [Timestamp] => 2022-02-21 03:00
            [Date] => 2022-02-21
            [Hour] => 03
        )

    [3] => Array
        (
            [Timestamp] => 2022-02-21 00:00
            [Date] => 2022-02-21
            [Hour] => 00
        )

)