הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] מערכים (https://hosts.co.il/forums/showthread.php?t=59490)

Kfir.G 30-01-08 08:05

[PHP] מערכים
 
שלום,
יש לי מערך של מחרוזות המורכבות ממספרים ונקודות. אני רוצה שכל נקודה תפוצל למערכים.
דוגמה נקלט המערך הבא

Array (
[0] => 1.0
[1] => 1.1.0
[2] => 1.1.1
[3] => 1.2
[4] => 2.0
[5] => 2.1
[6] => 3.0
)
הפלט צריך להיות

Array (
[0] => Array (
[0] = 0
[1] = Array (
[0] = 0
[1] = 1
)
[2] = 2
)
[1] => Array (
[0] = 0
[1] = 1
)
[2] =>
Array (
[0] = 0
)
)

*ניסיתי לעשות את זה כמה שיותר דומה לprint_r ;P

הצלחתי ליצור פונקציה בסיסית שעובדת עד הרמה השניה של המערך לדוגמה 1.1 אבל הסתבכתי שם עם הריקורסיה לדוגמה לערך 1.1.1.

בקיצור אני צריך קצת עזרה באלגוריתמיקה כאן ;P איך אתם הייתם עושים את זה?

חיים 30-01-08 08:14

אם הבנתי נכון זה פשוט מאוד אני הייתי משתמש פה בEXPLODE ומכניס אותו בתוך המשתנה במעערך המקורי וככה יוצר מערך חדש בתוכו פשוט מאוד וקל מאוד.. דוגמה לקוד:
PHP קוד:

$array = array("1.0.0","1.0","2.0","3.0","3.0.1");
foreach(
$array as $key=>$values)
{
 
$array[$key] = explode(".",$value);


הקוד לא נבדק אבל צריך לעבוד לדעתי אם לא הבנתי נכון אז מצטער זה מה שהבנתי

Kfir.G 30-01-08 08:18

ציטוט:

נכתב במקור על ידי חיים (פרסם 604787)
אם הבנתי נכון זה פשוט מאוד אני הייתי משתמש פה בEXPLODE ומכניס אותו בתוך המשתנה במעערך המקורי וככה יוצר מערך חדש בתוכו פשוט מאוד וקל מאוד.. דוגמה לקוד:
PHP קוד:

$array = array("1.0.0","1.0","2.0","3.0","3.0.1");
foreach(
$array as $key=>$values)
{
 
$array[$key] = explode(".",$value);


הקוד לא נבדק אבל צריך לעבוד לדעתי אם לא הבנתי נכון אז מצטער זה מה שהבנתי

שים לב ש$key משתנה... במה שאני ביקשתי כל מה שמתחיל ב1. יכנס למערך הראשון כל מה שמתחיל ב2. למערך השני וכך הלאה... מה שאתה כתבת אמור להחזיר משהו כזה

Array (
[0]=>Array (
[0]=1
[1]=0
[2]=0
)
[1] => Array (
[0]=1
[1]=0
)
...
)


כל הזמנים הם GMT +2. הזמן כעת הוא 21:18.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ