我有一個範圍從 0 到 23 的數字數組,每個數字代表從午夜到晚上 11 點的時間。它按鍵的值降序排列。
22 => int 8 3 => int 7 5 => int 6
等等。例如,如果陣列的第一個元素的鍵是 22,我希望變數 $first 為「10PM」。
當然,我可以寫:
if(key($array)=='22'){ $first = '10PM'; }
但我必須為每個鍵執行 23 次...有更簡單的方法嗎?
P粉3532821232023-12-26 16:57:54
剛才複製錯了
<?php // 原始数组 $array = [ 22 => 8, 3 => 7, 5 => 6 ]; // 转换后的时间数组 $times = []; foreach ($array as $key => $value) { // 将键值(小时)转换为12小时制的时间格式 $hour = $key % 12; if ($hour == 0) { $hour = 12; } $times[$key] = $hour . ($key >= 12 ? 'PM' : 'AM'); } // 输出转换后的时间数组 foreach ($times as $timeKey => $time) { echo "键值" . $timeKey . "对应的输出为:" . $time . "\n"; } ?>
P粉6004020852023-12-25 17:02:45
$array = array( 22 => 8, 3 => 7, 5 => 6 ); $i = 1; foreach ($array $key=>$val) { ${'time_' . $i} = date("HA", strtotime($key . ":00:00")); $i++; } //Now check echo $time_1;
P粉3532821232023-12-26 16:53:20
我理解的
<?php // 原始数组 $array = [ 22 => 8, 3 => 7, 5 => 6 ]; // 转换后的时间数组 $times = []; foreach ($array as $key => $value) { // 将键值(小时)转换为24小时制的时间格式 $hour = $key % 12; if ($hour == 0) { $hour = 12; } $times[$key] = $hour . 'PM'; } // 输出转换后的时间数组 foreach ($times as $timeKey => $time) { echo "键值" . $timeKey . "对应的输出为:" . $time . "\n"; } ?>
P粉2760641782023-12-25 11:32:18
這是程式碼
$hrs = 15; echo date("h a", strtotime("00-00-00 $hrs:00:00"));