|
|
# 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 אורחים) | |
| כלים לאשכול | |
| תצורת הצגה | |
|
|