הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 22-10-06, 23:25   # 1
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ציטוט:
נכתב במקור על ידי meshuga
נחמד, אני משתמש ב
PHP קוד:
$ext=substr(strrchr($name"."), 1); 

והיא בטוח עובדת לך ? אחרי שבדקתי ככה ב REF (לא ניסיתי)

strrchr = strstr
עכשיו
STRSTR מחזירה לך את כל מה שנשאר אחרי הנקודה
לודגמא :
this.is.my.file.name.and.i.like.it.txt
עם STRSTR אתה תקבל :
is.my.file.name.and.i.like.it.txt
עכשיו עבור SUBSTR עם התחלה של 1 אתה אמור לקבל
s.my.file.name.and.i.like.it.txt

אבל אני לא בטוח , זה רק מהסתכלות ב REF אני יעשה בדיקה ויערוך

עריכה, עשיתי בדיקה ועבור STRCHR אתה מקבל .txt
כנראה שזה הולך מהסוף להתחלה...לא חשבתי על זה ככה...יפה.

Last edited by RS324; 22-10-06 at 23:28..
  Reply With Quote
ישן 22-10-06, 23:44   # 2
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי RS324
והיא בטוח עובדת לך ? אחרי שבדקתי ככה ב REF (לא ניסיתי)

strrchr = strstr
עכשיו
STRSTR מחזירה לך את כל מה שנשאר אחרי הנקודה
לודגמא :
this.is.my.file.name.and.i.like.it.txt
עם STRSTR אתה תקבל :
is.my.file.name.and.i.like.it.txt
עכשיו עבור SUBSTR עם התחלה של 1 אתה אמור לקבל
s.my.file.name.and.i.like.it.txt

אבל אני לא בטוח , זה רק מהסתכלות ב REF אני יעשה בדיקה ויערוך

עריכה, עשיתי בדיקה ועבור STRCHR אתה מקבל .txt
כנראה שזה הולך מהסוף להתחלה...לא חשבתי על זה ככה...יפה.
:P
זה לא עושה מהסוף להתחלה, זה עושה מהפעם האחרונה בסטרינג שנמצא התו המבוקש.
ההבדל בינו ל strstr שstrstr פועל מהראשון.
הsubstr זה רק בשביל להוריד את הנקודה.
  Reply With Quote
ישן 22-10-06, 23:57   # 3
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ציטוט:
נכתב במקור על ידי meshuga
:P
זה לא עושה מהסוף להתחלה, זה עושה מהפעם האחרונה בסטרינג שנמצא התו המבוקש.
ההבדל בינו ל strstr שstrstr פועל מהראשון.
הsubstr זה רק בשביל להוריד את הנקודה.
הבילבול נוצר בגלל הדמיון תסתכל :

strchr -- Alias of strstr()

אבל כשיש פעמיים R
strrchr -- Find the last occurrence of a character in a string

מוצא את המופע האחרון של תו מסויים..

בגלל זה התבלבלתי בניהם

אני יעשה מבחן קטן ואני יגיד לך מה יותר יעיל.... הדרך שלי או הדרך שלך
  Reply With Quote
ישן 23-10-06, 00:00   # 4
Tomer
Whatever
 
Tomer's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 7,039
שלח הודעה באמצעות MSN אל Tomer Send a message via Skype™ to Tomer

Tomer לא מחובר  

ציטוט:
נכתב במקור על ידי RS324
הבילבול נוצר בגלל הדמיון תסתכל :

strchr -- Alias of strstr()

אבל כשיש פעמיים R
strrchr -- Find the last occurrence of a character in a string

מוצא את המופע האחרון של תו מסויים..

בגלל זה התבלבלתי בניהם

אני יעשה מבחן קטן ואני יגיד לך מה יותר יעיל.... הדרך שלי או הדרך שלך
אם אני לא טועה strrchr מייצג string reverse char (מציג את הסטרינג אחורנית)..
__________________
תומר
  Reply With Quote
ישן 23-10-06, 00:15   # 5
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

אוקי אז ככה :

יצרתי 3 קבצים שונים :
שכל קובץ מכיל את הנתונים לפי מה שפרסמנו.

הקובץ שלי :

PHP קוד:
<?php

$filename 
"this.is.my.file.name.and.i.like.it.txt";

function 
rs324_way($filename)
{
    return 
array_pop(explode('.',$filename));  
}




$rs324_start microtime();

for (
$i 0$i <= 100000;$i++)
{
    
rs324_way($filename);
}
$rs324_end microtime();

echo 
"for 100,000 times rs324_way took ".($rs324_end $rs324_start)." seconds";
?>
הקובץ של ATOM-BOMB :

PHP קוד:
<?php

$filename 
"this.is.my.file.name.and.i.like.it.txt";

function 
atom_way($filename)
{
    
$type explode(".",$filename); // חלוקת הקובץ לפי מספר הנקודות
    
$count count($type);
    return  
$type[$count 1];
}


$atom_start microtime();

for (
$i 0$i <= 100000;$i++)
{
    
atom_way($filename);
}
$atom_end microtime();

echo 
"for 100,000 times atom_way took ".($atom_end $atom_start)." seconds";
?>
והקובץ של משוגע :

PHP קוד:
<?php

$filename 
"this.is.my.file.name.and.i.like.it.txt";

function 
meshuga_way($filename)
{
    return 
substr(strrchr($name"."), 1);  
}


$meshuga_start microtime();

for (
$i 0$i <= 100000;$i++)
{
    
meshuga_way($filename);
}
$meshuga_end microtime();

echo 
"for 100,000 times meshuga_way took ".($meshuga_end $meshuga_start)." seconds";
?>
עכשיו, המבחן הוא בדיקה של כמה זמן לוקח עבור 100 אלף פעמים שאותה פונקציה צריכה לרוץ.

והנה התוצאות :

שלי :
PHP קוד:
for 100,000 times rs324_way took 0.152966 seconds 
של ATOM :
PHP קוד:
for 100,000 times atom_way took 0.756723 seconds 
ועבורך משוגע...הדף פשוט הפסיק להגיב ולא נתן תוצאה

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

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

למרות שהמחשב שלי דיי אמין CENTRINO 1600 ליבה כפולה
וגיגה זיכרון....
  Reply With Quote
ישן 23-10-06, 06:43   # 6
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי RS324
אוקי אז ככה :

יצרתי 3 קבצים שונים :
שכל קובץ מכיל את הנתונים לפי מה שפרסמנו.

הקובץ שלי :

PHP קוד:
<?php

$filename 
"this.is.my.file.name.and.i.like.it.txt";

function 
rs324_way($filename)
{
    return 
array_pop(explode('.',$filename));  
}




$rs324_start microtime();

for (
$i 0$i <= 100000;$i++)
{
    
rs324_way($filename);
}
$rs324_end microtime();

echo 
"for 100,000 times rs324_way took ".($rs324_end $rs324_start)." seconds";
?>
הקובץ של ATOM-BOMB :

PHP קוד:
<?php

$filename 
"this.is.my.file.name.and.i.like.it.txt";

function 
atom_way($filename)
{
    
$type explode(".",$filename); // חלוקת הקובץ לפי מספר הנקודות
    
$count count($type);
    return  
$type[$count 1];
}


$atom_start microtime();

for (
$i 0$i <= 100000;$i++)
{
    
atom_way($filename);
}
$atom_end microtime();

echo 
"for 100,000 times atom_way took ".($atom_end $atom_start)." seconds";
?>
והקובץ של משוגע :

PHP קוד:
<?php

$filename 
"this.is.my.file.name.and.i.like.it.txt";

function 
meshuga_way($filename)
{
    return 
substr(strrchr($name"."), 1);  
}


$meshuga_start microtime();

for (
$i 0$i <= 100000;$i++)
{
    
meshuga_way($filename);
}
$meshuga_end microtime();

echo 
"for 100,000 times meshuga_way took ".($meshuga_end $meshuga_start)." seconds";
?>
עכשיו, המבחן הוא בדיקה של כמה זמן לוקח עבור 100 אלף פעמים שאותה פונקציה צריכה לרוץ.

והנה התוצאות :

שלי :
PHP קוד:
for 100,000 times rs324_way took 0.152966 seconds 
של ATOM :
PHP קוד:
for 100,000 times atom_way took 0.756723 seconds 
ועבורך משוגע...הדף פשוט הפסיק להגיב ולא נתן תוצאה

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

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

למרות שהמחשב שלי דיי אמין CENTRINO 1600 ליבה כפולה
וגיגה זיכרון....
אחלה ...נשתמש במה שאתה הצעת..מהיום...תודה.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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