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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=24667)

BlueNosE 23-06-06 13:42

[php]מספר האיבר במערך?
 
שלום,
אני צריך לדעת מה הפונקצייה אם יש בכלל, שמאפשרת לי לבדוק למשל..

PHP קוד:

$arr = array (
'sup' => "manishma",
'hi' => "shalom",
'blaa' => "clcocl",
'cxcv' => "sdf"
); 

עכשיו אני רוצה שבFOREACH אם האינדקס יהיה נניח גדול מ2 האיבר לא יודפס.
כלומר הכל יודפס עד האיבר blaa והבא לא..
השאלה היא- איך? איזו פונקצייה מצביעה על מספר האיבר במערך?

טנקס, עומר.

Tomer 23-06-06 13:56

טעות :) סוריי..

BlueNosE 23-06-06 13:57

הבעיה היא שזה בתוך לולאת FOREACH, שנעשתה באופן דינאמי ע"י WHILE =\
והמטרה שלי כמו שאמרתי היא שזה לא ידפיס חלק

RS324 23-06-06 19:07

באופן כללי בשביל לקבל את גודל המערך עושים
sizeof($array)

link 23-06-06 20:19

אם למשל המערך היה בנוי אחרת אז היית יכול לדעת - לפי המפתח.במקרה הזה אתה לא יכול כיוון שהמפתח שלו ('sup') שונה לערך שלו(manishma).
למערך הזה אתה יכול לעשות לולאת for שתיצור מערך חדש ובו מפתח והמיקום שלו במערך
PHP קוד:

$arr = array ( 
'sup' => "manishma"
'hi' => "shalom"
'blaa' => "clcocl"
'cxcv' => "sdf" 
);  

$arr2 = array ( 
'sup' => 1,
'hi' => 2,
'blaa' => 3,
'cxcv' => 4
); 


BlueNosE 23-06-06 20:37

link:
זה כמו שהמורה שלך למתמטיקה הייתה אומרת לך "אם יש לי 100 שקלים ואני רוצה לקנות 10 דברים אבל אני לא יודעת מה המחיר של כל אחד מהם, ואני לא רוצה לעבוד את ה100. מה אני עושה?"
והיית עונה לה "אם היה לך מיליון שקל זאת לא הייתה בעיה."

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

טוב תודה בכל מקרה שניסית.

בניה 24-06-06 22:26

ב"ה


יכול להיות שהבנתי אותך לא נכון אבל אי אפשר פשוט לעשות ככה:

PHP קוד:

<?php
$index
=0;
$arr = array (
'sup' => "manishma",
'hi' => "shalom",
'blaa' => "clcocl",
'cxcv' => "sdf"
);
foreach(
$arr as $value)
    {
    
$index++;
    if(
$index=>2)
        break;
    echo 
$value;
    }
?>


BlueNosE 24-06-06 22:56

הבעיה היא שאת הנתון אני מקבל דינאמית, אני מנסה לעשות חלוקה לעמודים, וכן זה חייב להיות בלולאת FOREACH.
אז איך אני מגדיר את זה דינאמית, אם יש לי ככה (נניח שכבר הגדרתי דינאמית):
קוד:

$double = 10;
$limit = 12;

חשבתי עכשיו על רעיון לעבוד עם continue... מה דעתכם?

בניה 24-06-06 22:57

ב"ה


מה שכבתי זה עם foreach.

BlueNosE 24-06-06 23:00

ואיך זה תורם לפיתוח הקוד? |Rolleyes|

יונתן 24-06-06 23:02

הפונקציה count

BlueNosE 24-06-06 23:03

תרמתי לי רבות כשמסרת לי מידע זה ס.ס

יונתן 24-06-06 23:05

RTFM

בניה 24-06-06 23:05

ציטוט:

נכתב במקור על ידי BlueNosE
ואיך זה תורם לפיתוח הקוד? |Rolleyes|

ב"ה


אחרי שהוא מדפיס 3 אברים הוא מפסיק להדפיס.
זה לא מה שרצית?

BlueNosE 25-06-06 09:29

כן, אבל רציתי שאם הוא בעמוד 3 הוא ידפיס את איברים 2-4 ולא את איברים 0-2...

בניה 25-06-06 10:12

ב"ה


אפשר לעשות כזה דבר:

PHP קוד:

//מספר העמוד
$page=3;
//מספר האברים להצגה בכל עמוד:
$disp=5;
$arr=array_slice($arr,$disp*($page-1),$disp);
print_r($arr); 

ואם אתה עובד עם מסד נתונים לא פשוט יותר להשתמש בLIMIT?

BlueNosE 25-06-06 10:32

זה קצת בעיה.. אני יוצר ARRAY מלולאת WHILE. אני צריך לספור מצד אחד כמה כניסות יש בסך הכל מכל מקום, כלומר כמה פעמים נכנסו מהוסטס לאתר נניח, אבל הנתונים לא מכווצים לי.. עזוב סיפור Oם


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

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