![]() |
# 2 |
חבר מתקדם
|
אם אתה רוצה לעשות משתנה מסויים רק מספר, זה לא אפשרי בPHP.
מה שכן, עם PHP 5 אתה יכול לסנן טיפוסים של ארגומנטים שמועברים לפונקציה, זה נקרא Type Hinting. למשל אתה יכול ליצור פונקציה כזו: קוד:
function setNum(int $value) { global $num ; $num = $value ; } קוד:
setNum("this is a string") // תחזיר שגיאה $int = 32; setNum($int) // לא תחזיר שגיאה, כי הארגומנט הוא 32 (טיפוס = מספר שלם = int / integer ) דרך נוספת לעשות את זה, זה עם ביטויים רגולרים, אבל אין צורך. בכל מקרה, בPHP לפי מה שאני בדקתי בכמה ממשקים של מסדי נתונים, יש בהם פונקציה שנקראת real_escape_string, למשל, אם אתה משתמש במסד mysql, אתה יכול להשתמש בפונקציה הזאתי שתטפל בתווים האסורים בשאילתה שלך: mysql_real_escape_string. אם אתה רוצה פונקציה שלא דורשת עבודה עם מסד נתונים מסויים, אז קח: קוד:
function real_escape_string( $unescaped_string ) { $prepend_chars = array() ; $prepend_chars["\\\x00"] = "\x00" ; $prepend_chars["\\\n"] = "\n" ; $prepend_chars["\\\r"] = "\r" ; $prepend_chars['\\\''] = "'" ; $prepend_chars["\\\""] = "\"" ; $prepend_chars["\\\x1a"] = "\x1a" ; foreach( $prepend_chars as $key => $value ) $unescaped_string = str_replace( $value, $key, $unescaped_string ) ; return $unescaped_string ; } Last edited by Shillo; 04-08-09 at 22:43.. |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|