ABA


"אתגר בPHP - משהו שאני לא הצלחתי לפתור בצורה יפה."
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #12259 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 12259
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   10:13   10.06.07   
אל הפורום  
  אתגר בPHP - משהו שאני לא הצלחתי לפתור בצורה יפה.  
 
   יש לי מערך של טקסטים שצריך למיין.
הבעיה היא , שזה טקסט אך צריך למיין אותו כמו מספרים
לדוגמא

$arr['1.1']='text';
$arr['1.10']='text';
$arr['1.10.1']='text';
$arr['1.2']='text';
$arr['1.20']='text';
$arr['1.2.1']='text';
$arr['1.3']='text';
$arr['1.4']='text';
$arr['2.1']='text';

כל מיון שתעשו יחזיר לכם את הסדר הבא.

Array
(
[1.1] => text
[1.10] => text
[1.10.1] => text
[1.2] => text
[1.20] => text
[1.2.1] => text
[1.3] => text
[1.4] => text
[2.1] => text
)

שהסדר הנכון צריך להיות

Array
(
[1.1] => text
[1.2] => text
[1.3] => text
[1.4] => text
[1.10] => text
[1.10.1] => text
[1.20] => text
[1.2.1] => text
[2.1] => text
)

למישהו יש רעיון ?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אממ MeToR 10.06.07 11:55 1
     זה לא כל כך קל bmaorlo  10.06.07 12:17 4
         יכול ליהיות 100 אתה רציני ? akoka 10.06.07 13:12 6
             זה כבר עניין של החלטה לגבי הרמות bmaorlo  10.06.07 13:51 8
         רק רקוסיה. Morishani 11.06.07 12:36 19
             לא נכון יש כמה דרכים לפתור את זה bmaorlo  11.06.07 15:23 26
  אם אני לא טועה זה מיון בועות.. תקנו אותי אם אני טועה.. lior066 10.06.07 12:01 2
     גם אני חשבתי על האותיות bmaorlo  10.06.07 12:16 3
         למה מה רע ז ZA??.. lior066 10.06.07 13:08 5
             אני אשמח אם תעזור לי עם זה bmaorlo  10.06.07 13:50 7
                 חחחח אחרי ZZ, ZZA מן הסתם.. lior066 10.06.07 14:08 9
                     קודם כל תודה , אבל זה עדיין לא פותר את הבעיה bmaorlo  10.06.07 14:18 10
                         אין לך AB זה כל הקטע.. lior066 10.06.07 14:26 11
                             לא :( bmaorlo  10.06.07 14:53 13
         אם זה פורום עץ, תסביר לי מה אתה צריך בדיוק MoonHunter 10.06.07 18:48 15
             אחי הבעיה היא בדיוק השאלה ששאלתי כאן bmaorlo  10.06.07 23:15 16
                 מכתב MoonHunter 10.06.07 23:18 17
                     אפשר לראות את ההוא שבנית בלי רקורסיה ? bmaorlo  11.06.07 15:25 27
  מכתב MoonHunter 10.06.07 14:45 12
     כנס אחי bmaorlo  10.06.07 15:28 14
  רגע... הסדר לא אמור להיות ככה? MeToR 11.06.07 12:23 18
     אם זה לפי מה שרשמתי פה אז הצלחתי :| MeToR 11.06.07 12:51 20
         זה אומר להיות ככה :) תעלה את הפתרון :} -DoTaN- 11.06.07 12:52 21
             הנה :) MeToR 11.06.07 13:02 22
                 דרך אגב, יכול להיות שסתם סיבכתי בדברים מסויימים וזה... MeToR 11.06.07 13:03 23
                 זה עובד.. אבללל... :) lior066 11.06.07 14:12 24
                     אמממ MeToR 11.06.07 14:28 25
                         יכול להיות הכול גם 15 וגם 17 bmaorlo  11.06.07 15:27 28
                             אוקיי, הנה: MeToR 11.06.07 16:22 29
                                 נראה שזה בסדר .. אני כבר בודק את זה בסקריפט שלי bmaorlo  11.06.07 17:31 30

       
MeToR
חבר מתאריך 26.1.07
11 הודעות
   11:55   10.06.07   
אל הפורום  
  1. אממ  
בתגובה להודעה מספר 0
 
   אתה יכול לקחת את האינדקסים, לעשות להם explode לפי ".",
ולמצוא את המספר הכי קטן בתא הראשון, אחר כך לעבור על כל אלה שיש להם
את אותו מספר קטן שמצאת, ולבדוק למי מהם יש את המספר הכי קטן בתא השני,
וכנ"ל לגבי השלישי, וזה הכי קטן, ופשוט להכניס אותו למערך חדש, ולהוציא אותו מהמערך הנ"ל.
ואז כל הסריקה מחדש.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   12:17   10.06.07   
אל הפורום  
  4. זה לא כל כך קל  
בתגובה להודעה מספר 1
 
   אני לא יודע כמה רמות של נקודות יש לי ..
יכול להיות 3 יכול להיות 100 .
אתה מבין את הבעיה ?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

   13:12   10.06.07   
אל הפורום  
  6. יכול ליהיות 100 אתה רציני ?  
בתגובה להודעה מספר 4
 
   אתה תבהיל אנשים שהם ייראו מספר כזה
1.2.1.13.2.23.5.53.2.1.15.156.2.2.2.2.1.1.2.1.2.1.2.2.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1

בכול אופן אני גרוע בחישובים האלה אז אין לי רעיון,אם היה לי זה בטח היה בדרך ערבית


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   13:51   10.06.07   
אל הפורום  
  8. זה כבר עניין של החלטה לגבי הרמות  
בתגובה להודעה מספר 6
 
   אבל ברמת העקרון , זה אמור לתמוך גם בכתובת כזו.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Morishani

   12:36   11.06.07   
אל הפורום  
  19. רק רקוסיה.  
בתגובה להודעה מספר 4
 
   רק רקוסיה יכולה לפתוח לך את הבעיה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   15:23   11.06.07   
אל הפורום  
  26. לא נכון יש כמה דרכים לפתור את זה  
בתגובה להודעה מספר 19
 
   ואני אפתור את זה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   12:01   10.06.07   
אל הפורום  
  2. אם אני לא טועה זה מיון בועות.. תקנו אותי אם אני טועה..  
בתגובה להודעה מספר 0
 
   בכל מקרה יש לי קוד באותו סגנון גם אצלי , תן לי לנחש אין לך כוח לפתח היררכיה לתפריטים חח..

הקטע אצלי שזה שמור לי ב DB ועשיתי לפי המשיכה מה SQLSTRING שזה יהיה לפי הגודל..

מה שאני יכול להמליץ לך , אבל הוא כבד מבחינת זיכרון זה לעבוד עם SPLIT כלומר לפרק את הסטרינגים לפי הנקודה , ואחרי זה למיין לפי הגודל, זה אמור לעבוד לך..

ככה זה יוצא לך דבר כזה.
1 | 10
1 | 1

ואז אתה יכול להגיד שה 10 גדול יותר מה 1

דרך שנייה אתה יכול לעבוד עם אותיות במקום.
A.A = 1.1.
A.J = 1.10
אם אתה מבין פה לא יהיה לך אררכיה של מספרים עוקבים וגודל כזה והמיון פה יעבוד לך.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   12:16   10.06.07   
אל הפורום  
  3. גם אני חשבתי על האותיות  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 10.06.07 בשעה 12:18 בברכה, bmaorlo
 
אבל אז הבעיה תצוץ אם אני אצטרך משהו לאינדקס אחרי Z..
ובשיטה שלי אם אני אפתור את זה אז יהיה לי אינדקסים בלי הגבלה.
וזה לא קשור לתפריטים , אני מנסה לעשות פורום עץ רקורסיבי בלי רקורסיה
ואם אני מעביד את הקטע הזה סיימתי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   13:08   10.06.07   
אל הפורום  
  5. למה מה רע ז ZA??..  
בתגובה להודעה מספר 3
 
   מה הבעייה לעשות את זה עם ZA אחרי Z נגיד אתה מפתח אלגוריתם של 2 דקות של גימטרייה וזהו..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   13:50   10.06.07   
אל הפורום  
  7. אני אשמח אם תעזור לי עם זה  
בתגובה להודעה מספר 5
 
   ומה אחרי ZZ ?
ושוב , אני אשמח אם תעזור לי .


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   14:08   10.06.07   
אל הפורום  
  9. חחחח אחרי ZZ, ZZA מן הסתם..  
בתגובה להודעה מספר 7
 
   מה שאתה צריך לעשות זה לבנות מערך של תווים , והאינדס שלהם הוא הערך שלך.

A=1
B=2
C=3
וכדומה

ולבנות פונקצייה שמחזירה לך ערך עבור נגיד A 1
עבור ZA נגיד 48
וכך הלאה.ואז אתה פשוט בודק את זה.

נגיד מ 1.40.3 זה הופך ל - A.X.C
וזה כבר קל למיין. הבנת.. פה לא יהיה לך בעייה במיון לפי סדר עולה יורד.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   14:18   10.06.07   
אל הפורום  
  10. קודם כל תודה , אבל זה עדיין לא פותר את הבעיה  
בתגובה להודעה מספר 9
 
   בעצם הפכת את הבעיה להיות אותה בעיה רק עם תווים ולא עם מספרים..
אני אדגים:

1.2 = A.B
1.10 = A.AB

שתמיין לפי A-B מה תקבל ?
ד"א גם AAA מגיע לפני AB וזה לא מה שאנחנו צריכים ..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   14:26   10.06.07   
אל הפורום  
  11. אין לך AB זה כל הקטע..  
בתגובה להודעה מספר 10
 
   ערכתי לאחרונה בתאריך 10.06.07 בשעה 14:27 בברכה, lior066
 
אתה מבצע כניסה אחרונה לאותיות ב Z.

אתה סתם מסתבך את עצמך 10 = J
50 = ZF או משהו כזה..

אם אתה מכניס לפונקצייה 60 מה שהוא הוא עושה אם נגיד המספר מעל המקסימום שוא נגיד 40 שזה Z נגיד אני לא יספור אותם עכשיו הוא יחלק את המספר ל
1.משהו נכון עכשיו ה 1 הזה שלך הוא Z והשארית היא אות אחרת נגיד Q סבבה.

מקווה שהבנת..

ZZ = 80
ZZZ= 120
ZZZA = 121

תפסת.. ?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   14:53   10.06.07   
אל הפורום  
  13. לא :(  
בתגובה להודעה מספר 11
 
   דבר איתי בICQ
16781


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   18:48   10.06.07   
אל הפורום  
  15. אם זה פורום עץ, תסביר לי מה אתה צריך בדיוק  
בתגובה להודעה מספר 3
 
   הייתי בסרט הזה ואני יודע בדיוק איך להתמודד עם הכל.
תן לי את הבעיה שאיתה אתה נאלץ להתמודד עם האינדוקס הלא מומלץ שאתה עושה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   23:15   10.06.07   
אל הפורום  
  16. אחי הבעיה היא בדיוק השאלה ששאלתי כאן  
בתגובה להודעה מספר 15
 
   אני עושה פורום עץ בלי רקורסיה , וכרגע אני תקוע כאן , למרות שLIOR הביא לי אחלה כיוון , שאני אנסה לממש.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   23:18   10.06.07   
אל הפורום  
  17. מכתב  
בתגובה להודעה מספר 16
 
   למה בכלל אתה צריך רקורסיה בפורום עץ?
הצלחתי לבנות אחד בלי ריקוריסה.
תסביר לי למה אמורה להיות ריקורסיה ואני אעזור לך..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   15:25   11.06.07   
אל הפורום  
  27. אפשר לראות את ההוא שבנית בלי רקורסיה ?  
בתגובה להודעה מספר 17
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   14:45   10.06.07   
אל הפורום  
  12. מכתב  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 10.06.07 בשעה 14:51 בברכה, MoonHunter
 
דרך ראשונה:
א. הייתי מציע לך לקבל את כל המפתחות של המערכת array_keys ולשמור את זה.
ב. להכפיל את כל המפתוחת ב1, ככה המפתחות יהפכו מסטרינג למיספרים.
ג. ליצור מערך חדש שיבנה תוך כדי ריצת לולאה על המערך שהתקבל מסעיפים א-ב שלמעשה הוא יספק את המפתחות עבור המערך החדש, הערכים של המערך יהיו בהתאמה להתקדמות הלולאה מהמערך המקורי.
ד. להשתמש בasort על המערך החדש.

הדרך השניה:
א. הייתי מציע לך לקבל את כל המפתחות של המערכת array_keys ולשמור את זה.
* אני לא יודע מה המפתחות של המערך שמתקבל, במידה והם מספרים אז אל תבצבע את סעיף ב ו-ג על המערך הזה.
ב. להשתמש בimploade על המערך המקורי והמערך החדש.
ג. להשתמש בexplode על הסטרינגים שהתקבלו בסעיף ב.
ד. ליצור מערך חדש שיבנה תוך כדי ריצת לולאה על המערכים שהתקבלו, ככה שהמערך שנוצר מarray_keys יספק את המפתחות והמערך המקורי יספק את הערכים.
ה. להשתמש בasort על המערך החדש.

אני מקווה שצדקתי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   15:28   10.06.07   
אל הפורום  
  14. כנס אחי  
בתגובה להודעה מספר 12
 
   1. לא יעבוד כי זה לא מספר לדוגמא 1.1.1.1 זה לא מספר.
2. לא הבנתי מצטער


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   12:23   11.06.07   
אל הפורום  
  18. רגע... הסדר לא אמור להיות ככה?  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 11.06.07 בשעה 12:23 בברכה, MeToR
 

Array(
[1.1] => text
[1.2] => text
[1.2.1] => text
[1.3] => text
[1.4] => text
[1.10] => text
[1.10.1] => text
[1.20] => text
[2.1] => text
)

?

לא הבנתי לפי מה הסדר הולך :|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   12:51   11.06.07   
אל הפורום  
  20. אם זה לפי מה שרשמתי פה אז הצלחתי :|  
בתגובה להודעה מספר 18
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
-DoTaN-

   12:52   11.06.07   
אל הפורום  
  21. זה אומר להיות ככה :) תעלה את הפתרון :}  
בתגובה להודעה מספר 20
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   13:02   11.06.07   
אל הפורום  
  22. הנה :)  
בתגובה להודעה מספר 21
 
   ערכתי לאחרונה בתאריך 11.06.07 בשעה 13:04 בברכה, MeToR
 
לקח לי בערך שעה-שעה וחצי חחח

<?
// פונקציה המקבלת מספר/אות באנגלית, ומחזירה אות/מספר בהתאמה באופן גימטרי
function numLetter($nl,$mode)
{
// מקבל מספר מחזיר אות
if ($mode=="letter")
{
if (($nl<=10) and ($nl>0))
return chr($nl+64);
if (($nl>10) and ($nl<100))
{
$nl=$nl/10;
return chr($nl+73);
}
}

// מקבל אות מחזיר מספר..
if ($mode=="num")
{
if ((ord($nl)>64) and (ord($nl)<=74))
return ord($nl)-64;
if ((ord($nl)>74) and (ord($nl)<90))
{
$nl=ord($nl)-73;
return ($nl*10);
}
}
}

// המידע במערך
$arr['1.1']='text';
$arr['1.10']='text';
$arr['1.10.1']='text';
$arr['1.2']='text';
$arr['1.20']='text';
$arr['1.2.1']='text';
$arr['1.3']='text';
$arr['1.4']='text';
$arr['2.1']='text';

// מכניס למערך את כל האינדקס של המערך הקודם
$c=array_keys($arr);

// הופך את כל האינדקסים מהמערך הקוד לאותיות ללא נקודות
for ($i=0; $i<count($c); $i++)
{
$e=explode(".",$c[$i]);
$letters="";
for ($j=0; $j<count($e); $j++)
$letters.=numLetter(intval($e[$j]),"letter");
$c[$i]=$letters;
}

// ממיין את המערך לפי האותיות
sort($c);

// הופך את האותיות בחזרה למספרים עם נקודות כמו שהיה בהתחלה, אך בצורה ממויינת
for ($i=0; $i<count($c); $i++)
{
$key=$c[$i];
$numbers="";
for ($j=0; $j<strlen($key); $j++)
$numbers.=numLetter($key{$j},"num").".";
$numbers=substr($numbers,0,strlen($numbers)-1);
$c[$i]=$numbers;
}

// מכין מערך חדש, ומדמה אותו למערך הקודם הלא ממויין, אך בצורה ממויינת
foreach ($c as $key=>$val)
$a[$val]=$arr[$val];

// מדפיס את המערך
print_r($a);
?>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   13:03   11.06.07   
אל הפורום  
  23. דרך אגב, יכול להיות שסתם סיבכתי בדברים מסויימים וזה...  
בתגובה להודעה מספר 22
 
   לא היה לי כוח לחשוב על יעילות :|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

   14:12   11.06.07   
אל הפורום  
  24. זה עובד.. אבללל... :)  
בתגובה להודעה מספר 22
 
   חחח לא רציתי לבאס מה קורה אם אתה מכניס מספר נגיד 1.65 ?...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   14:28   11.06.07   
אל הפורום  
  25. אמממ  
בתגובה להודעה מספר 24
 
   ערכתי לאחרונה בתאריך 11.06.07 בשעה 14:32 בברכה, MeToR
 
לפי מה שהבנתי הוא משתמש רק בעשרות... כאילו 10,20,30 וכאלה...
וגם ב-1,2,3 וכאלה :| אבל לא ב-11,12,13 וכאלה :|

חחח כמה פעמים כתבתי "וכאלה"

עריכה: אבל כשאני חושב על זה, אפשר פשוט לפרק את ה-11 למשל ל-10 ו-1, ואז לעשות: JA


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   15:27   11.06.07   
אל הפורום  
  28. יכול להיות הכול גם 15 וגם 17  
בתגובה להודעה מספר 25
 
   ערכתי לאחרונה בתאריך 11.06.07 בשעה 15:33 בברכה, bmaorlo
 
וזה לא עובד הסקריפט שכתבת אם אני נותן לו

$arr['1.12.1']='text';

זה מעלים אותו.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MeToR
חבר מתאריך 26.1.07
11 הודעות
   16:22   11.06.07   
אל הפורום  
  29. אוקיי, הנה:  
בתגובה להודעה מספר 28
 
   ערכתי לאחרונה בתאריך 11.06.07 בשעה 16:23 בברכה, MeToR
 

<?
// פונקציה המקבלת מספר/אות באנגלית, ומחזירה אות/מספר בהתאמה באופן גימטרי
function numLetter($nl,$mode)
{
// מקבל מספר מחזיר אות
if ($mode=="letter")
{
if (($nl<=10) and ($nl>0))
return chr($nl+64);
if (($nl>10) and ($nl<100))
{
if (is_int($nl/10))
$nl=chr(($nl/10)+73);
else
{
$n[0]=numLetter(intval($nl/10)*10,"letter");
$n[1]=numLetter($nl-intval($nl/10)*10,"letter");
$nl=$n[0].$n[1];
}
return $nl;
}
}

// מקבל אות מחזיר מספר..
if ($mode=="num")
{
if (strlen($nl)==1)
{
if ((ord($nl)>64) and (ord($nl)<=74))
return ord($nl)-64;
if ((ord($nl)>74) and (ord($nl)<90))
{
$nl=ord($nl)-73;
return ($nl*10);
}
}
else
{
if (strlen($nl)==2)
{
$n[0]=numLetter($nl{0},"num");
$n[1]=numLetter($nl{1},"num");
$nl=$n[0]+$n[1];
return $nl;
}
}
}
}

// המידע במערך
$arr['1.1']='text';
$arr['1.11']='text';
$arr['1.12.1']='text';
$arr['1.2']='text';
$arr['1.21']='text';
$arr['1.2.1']='text';
$arr['1.3']='text';
$arr['1.4']='text';
$arr['2.1']='text';

// מכניס למערך את כל האינדקס של המערך הקודם
$c=array_keys($arr);

// הופך את כל האינדקסים מהמערך הקוד לאותיות ללא נקודות
for ($i=0; $i<count($c); $i++)
{
$e=explode(".",$c[$i]);
$letters="";
for ($j=0; $j<count($e); $j++)
$letters.=numLetter(intval($e[$j]),"letter").".";
$letters=substr($letters,0,strlen($letters)-1);
$c[$i]=$letters;
}

// ממיין את המערך לפי האותיות
sort($c);

// הופך את האותיות בחזרה למספרים עם נקודות כמו שהיה בהתחלה, אך בצורה ממויינת
for ($i=0; $i<count($c); $i++)
{
$e=explode(".",$c[$i]);
$numbers="";
for ($j=0; $j<count($e); $j++)
$numbers.=numLetter($e[$j],"num").".";
$numbers=substr($numbers,0,strlen($numbers)-1);
$c[$i]=$numbers;
}

// מכין מערך חדש, ומדמה אותו למערך הקודם הלא ממויין, אך בצורה ממויינת
foreach ($c as $key=>$val)
$a[$val]=$arr[$val];

// מדפיס את המערך
print_r($a);

?>

עכשיו זה בסדר? :|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   17:31   11.06.07   
אל הפורום  
  30. נראה שזה בסדר .. אני כבר בודק את זה בסקריפט שלי  
בתגובה להודעה מספר 29
 
   תודה!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net