וובמאסטר - תיכנות ובניית אתרים
שאלות ותשובות:
הוסף תשובה

סידור מערך PHP לפי מספרים יורדים וה-A, B, C

שלום,
יש לי מערך ב-PHP, שהמפתחות שלו הם מספרים (בעצם תאריך) - יכול להיות שיהיו 2 מפתחות זהים או יותר, והערכים שלו לא כל כך משמעותיים לשאלה, אך לא יכולים להיות 2 זהים.
עכשיו, אני רוצה להציג את ערכי המערך לפי סדר יורד של המפתחות (למעלה - מפתח הכי גבוה; למטה - מפתח הכי נמוך), אבל אני רוצה שאם יהיו כמה מפתחות זהים - הם יסתדרו לפי ה-a, b, c של הערכים (בתוך סידור המפתחות).
לאחר מכן, הפכתי את זה, כך שהמפתחות הקודמים (המספרים) הם הערכים החדשים, והערכים הישנים הם המפתחות החדשים.

לדוגמא, נניח שיש לי מערך כזה (מפתח - ערך):
93 - abc
82 - gnj
109 - fjn
93 - pdo
57 - dksm

אני רוצה שהוא יסתדר כך (ולאחר מכן אהפוך את המפתחות לערכים ואת הערכים למפתחות):
109 - fjn
93 - abc
93 - pdo
82 - gnj
57 - dksm

ולא ששני ה-93 יסתדרו באקראיות ביניהם.


השתמשתי, כמובן, ב-arsort().
אשמח לעזרה.
תודה מראש.

Orel Ben-Yair, 8/1/2012
תגיות: PHP‏  /  מערכים‏  /  סידור‏  
הוסף תשובה  |  הוסף הערה
2 תשובות לשאלה זו
הוסף תשובה
אני לא מכיר PHP אבל נשמע לי שלשלוף את המידע בסדר הנכון כבר ברמת השאילתא - יהיה יעיל ופשוט יותר
הוסף תשובה  |  הוסף הערה
לא הצלחתי להבין. :)
בכל זאת, אלכס עזר לי (XD), והנה הקוד שיציג רשימה מסודרת של הקבצים (מסוג html/php) הנמצאים באותה תיקייה כאשר תאריך העדכון של הקובץ שלמעלה הוא החדש ביותר ושל זה שלמטה הוא הישן ביותר (סדר עולה). במידה ויש 2 קבצים ומעלה שעודכנו באותו זמן בדיוק (נניח שהועלו לתיקייה באותו זמן) -> הם יהיו מסודרים לפי ה-A, B, C (סדר יורד).

date_default_timezone_set('Asia/Jerusalem');
$files_array=glob("{*.php,*.html}",GLOB_BRACE|GLOB_NOSORT);
foreach ($files_array as $file_path) {
if ($file_path!="pie.php"&&$file_path!="index.php") {
$files[$file_path]=filectime($file_path);}}
array_multisort(array_values($files), SORT_DESC, array_keys($files), SORT_ASC, $files);
$files=array_keys($files);
foreach ($files as $file) {
echo '<a href="'.$file.'">'.$file.'</a> - עודכן לאחרונה ב-'.date("d.n.Y H:i:s.", filectime($file)).'<br />';}
Orel Ben-Yair, 10/1/2012
הוסף תשובה  |  הוסף הערה
הוסף תשובה לשאלה זו:




וובמאסטר © כל הזכויות שמורות