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

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

yakar 23-11-07 11:18

[php] מציאת ספרה השמאלית ביותר
 
שלום,

אני צריך עזרה בעניין מסויים.

אני מחפש פונקציה אשר מוצאת לי את הספרה השמאלית ביותר שלו.
דוגמא
הוכנס מספר : 1413673433
אני רוצה שהמספר היוצא מהפונקציה יהיה 1.
אשמח גם אם תהיה אפשרות למצוא בה גם את הספרה ה2 משמאל וכדומה..

אני מכיר את הפונקציה str_split אבל היא לא מתאימה לי בגלל שאין לי php5

תודה לעוזרים.

talbeno 23-11-07 11:24

תו ראשון
PHP קוד:

<?php
$text 
1413673433;
$text substr($text01);
echo 
$text;
?>

תו שני
PHP קוד:

<?php
$text 
1413673433;
$text substr($text12);
echo 
$text;
?>


Elad-A 23-11-07 11:49

PHP קוד:

$num 1413673433;

echo 
$num[0]; 


בניה 23-11-07 12:29

צריך רק שהמספר יבוא במחרוזת:
PHP קוד:

$num "1413673433";

echo 
$num[0]; 

או
PHP קוד:

$num 1413673433;
$num = (string)$num;
echo 
$num[0]; 


AlmogBaku 25-11-07 11:55

אני בטוח שיש דרך עם splitf וכל זה, אבל אני אישית שונא את זה...
אני אומר מראש- זו דרך שמבזבזת פחות חכמה, ועושה עבודה פחות יפה, אבל אני אוהב לעבוד ככה..

בפונקציה הזו אני בעצם הופך את המספר למחרוזת, מבצע עליה מספר פעולות, ומחזיר את התוצאה למספר:
PHP קוד:

function lastnum($number="0") {
    
$newNumber "" $number;
    return 
floatval($newNumber[strlen($newNumber)]);
}
echo 
lastnum(1566); //return 6 

בקו.

*עריכה: הרגע קלטתי שביקשת את הספרה האחרונה, פשוט תשנה לזה..
PHP קוד:

function lastnum($number="0") {
    
$newNumber "" $number;
    return 
floatval($newNumber[0]);
}
echo 
lastnum(1566); //return 1 


DanielS 25-11-07 12:08

ציטוט:

נכתב במקור על ידי Baku (פרסם 583066)
אני בטוח שיש דרך עם splitf וכל זה, אבל אני אישית שונא את זה...
אני אומר מראש- זו דרך שמבזבזת פחות חכמה, ועושה עבודה פחות יפה, אבל אני אוהב לעבוד ככה..

בפונקציה הזו אני בעצם הופך את המספר למחרוזת, מבצע עליה מספר פעולות, ומחזיר את התוצאה למספר:
PHP קוד:

function lastnum($number="0") {
    
$newNumber "" $number;
    return 
floatval($newNumber[strlen($newNumber)]);
}
echo 
lastnum(1566); //return 6 

בקו.

*עריכה: הרגע קלטתי שביקשת את הספרה האחרונה, פשוט תשנה לזה..
PHP קוד:

function lastnum($number="0") {
    
$newNumber "" $number;
    return 
floatval($newNumber[0]);
}
echo 
lastnum(1566); //return 1 


ובשביל מה זה כשמתמשים פשוט ב
ציטוט:

נכתב במקור על ידי Elad-A (פרסם 582302)
PHP קוד:

$num 1413673433;

echo 
$num[0]; 



AlmogBaku 25-11-07 12:23

ציטוט:

נכתב במקור על ידי DanielS (פרסם 583072)
ובשביל מה זה כשמתמשים פשוט ב

כי זה פשוט לא עובד על משתני INT?

Elad-A 25-11-07 13:02

ציטוט:

נכתב במקור על ידי Baku (פרסם 583075)
כי זה פשוט לא עובד על משתני INT?


נו אז פשוט עושים המרה למשתנה.. (כמו שבניה עשה)

AlmogBaku 25-11-07 13:14

ציטוט:

נכתב במקור על ידי Elad-A (פרסם 583085)
נו אז פשוט עושים המרה למשתנה.. (כמו שבניה עשה)

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

mayden 25-11-07 13:46

ציטוט:

נכתב במקור על ידי Baku (פרסם 583066)
PHP קוד:

function lastnum($number="0") {
    
$newNumber "" $number;
    return 
floatval($newNumber[strlen($newNumber)]);
}
echo 
lastnum(1566); //return 6 


חחח, גם אם הוא רצה את הספרה הכי ימינית - יש דרך בהרבה אבל בהרבה יותר קלה מהדרך שלך:

PHP קוד:

$num "51241518";

echo 
$num 10


AlmogBaku 25-11-07 13:52

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

NDVNDV 26-11-07 02:20

ציטוט:

נכתב במקור על ידי mayden (פרסם 583098)
חחח, גם אם הוא רצה את הספרה הכי ימינית - יש דרך בהרבה אבל בהרבה יותר קלה מהדרך שלך:

PHP קוד:

$num "51241518";

echo 
$num 10


לא הבנתי מה הקוד שלך עושה...
מה ה% וה10 מסמלים פה..?

--

ומה רע בתשובה הראשונה שהביאו לו עם הsubstr?

BlueNosE 26-11-07 15:09

ציטוט:

נכתב במקור על ידי talbeno (פרסם 582295)
תו ראשון
PHP קוד:

<?php
$text 
1413673433;
$text substr($text01);
echo 
$text;
?>

תו שני
PHP קוד:

<?php
$text 
1413673433;
$text substr($text12);
echo 
$text;
?>


לא בדיוק..
הרבה אנשים נוטים לחשוב שsubstr מקבל string, x. y כשx הוא התחלה וy הוא סוף.
זו טעות, אני גם טעיתי ככה פעם, הערך השלישי של הפונקציה (y) הוא המרחק שלה מx.
ציטוט:

PHP קוד:


$num 
1413673433;

echo 
$num[0]; 


לבניה ולElad-A
זו טעות להשתמש בזה ככה
לא כל השרתים יכולים לעבוד עם $string[0], בדוק. אני לא יודע במה זה תלוי (אפשרות לא מופעלת בPHP.INI או גירסאת השפה) אבל זה לא פועל בכולם פשוט.
עדיף לעשות $string{0}

חוץ מזה שפשוט ניתן לעשות type casting ע"י strval..

PHP קוד:

$text 1413673433;
echo 
strval($text){0}; 



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

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