טוב החלטתי להראות לאנשים איך לשים הרבה משתנים לתוך מחרוזת אחת!
למשל, בניתם פורום, ואתם רוצים להראות למשתמש אם הוא צפה באותו האשכול או לא?
אז אתם מכינים את, ובתוכו מספר האשכול שהמשתמש קרא "-" ואז המספר הבא,
נניח ויש לנו מחרוזת כזאת:
PHP קוד:
$string = "2-3-8-9-11-24";
$arr=explode("-",$string);
מה שבעצם עשינו פה הוא לקחנו מחרוזת עם הרבה מספרים שמופרדים ע"י "-"
איך אנחנו הופכים כל מספר במחרוזת הזאת למשתנה בפני עצמו?
פשוט מאוד, יש פונקציה שנקראת explode, היא מפרידה את כל המחרוזת בתו שאנו
מגדירים ומכניסה הכל למערך!
בדוגמא הפרדנו את המחרוזת string עם התו "-" והכנסו הכל למערך arr..
עכשיו אפשר לעשות כל מיני דברים, לפלוט את המספרים למשל אחד אחרי השני..
אז איך עושים את זה? פשוט צריך לברר כמה משתנים יש לנו במערך, לעשות לולאה כמספר המשתנים
ולפלוט את כולם:
PHP קוד:
$num = count($arr);
הפונקציה count סופרת הכל במערך שאנו מגדירים לה, במקרה הזה את המערך arr
ומכניסה את מספר המשתנים שמבערך הזה למשתנה num.
PHP קוד:
for($i = 0; $i<= $num; $i++){
echo "$arr[$i]<br>";
}
ופה פשוט מאוד אנו עושים לולאה כערך המספר num, ופולטים את כל המשנים אחד אחד..
דבר שימושי נוסף שאפשר לעשות עם מערך זה שוב המחרוזת הזו:
PHP קוד:
$string = "2-3-8-9-11-24";
ויש לנו עוד מספר במשתנה כלשהו, למשל:
$a = 11;
אנחנו רוצים לראות אם ה11 הזה קיים במערך שלנו!
אז ככה:
PHP קוד:
$string = "2-3-8-9-11-24";
$arr=explode("-",$string);
שוב מחלקים הכל ומכניסים למערך arr
ואז:
PHP קוד:
if(in_array($a,$arr)){
echo "המספר כבר קיים במערך";
} else{
echo "המספר עדיין לא קיים במערך";
}
אני חושב שזה דיי מובן אבל אני אסביר, מגדירים לפונקציה in_array, איזה מילה לבדוק ואחרי זה באיזה מערך, ואז זה בודק אם זה קיים או לא, דיי שימושי...
---------------------
טוב פה אני אראה לכם סתם משהו חמוד נחמד לכאלה שבונים מערכות גדולות ואין להם כח להוציא יותא מידי משתנים מהמסד אחד אחרי השני..
לדוגמא, זו דרך להוציא מידע מהמסד:
PHP קוד:
$queryz = mysql_query("SELECT * FROM user")or die(mysql_error());
$x = mysql_fetch_array($queryz);
$a= $x["a"];
$b = $x["b"];
$c = $x["c"];
$d = $x["d"];
וכן הלאה, ולרוב יש הרבה יותר מידע שמוציאים מהמסד! (כמובן עם שמות אחרים),
אז יש משהו שמקצר את זה, ומוציא את כל התאים לתוך משתנה בשם התא!
לדוגמא:
PHP קוד:
$queryz = mysql_query("SELECT * FROM user")or die(mysql_error());
$x = mysql_fetch_array($queryz);
extract($x);
הפונקציה extract לוקחת מאיפה שאנחנו צריכים את שם התא למשל "user" ומכניסה אותו כבר למשתנה בשם התא, למשתנה user, וככה לשאר, וזהו זה חוסף לכם להוציא 20 דברים ממה שרציתם בשורה קטנה ופשוטה...
------------------------
עוד משהו שימושי, שאני מעריך שהרוב יודעים אבל בכל זאת איך מגינים על מחרוזת מפני שטויות והזרקות, אז ככה, קודם כל להוציא את ההשפעה מתגי html:
PHP קוד:
$user = htmlspecialchars("$u", ENT_QUOTES);
זה לוקח את המשתנה u משנה את כל תגי ה html לקידוד שלהם על מנת שלא ישפיעו על הפלט ומכניס הכל למשתנה user.
חסימת הזרקות:
תגים כמו
" ו
' הם מסוכנים למחרוזת וכל מיני צוציקים שמשעמם להם יודעים איך לגרום לזה נזק, אז יש פיתרון דיי פשוט:
PHP קוד:
$username = mysql_real_escape_string($user);
זה מעיף את כל הסימנים המסוכנים למינהם ושם סימן סלאש לפני שמוריד את ההשפעה,
אהל מה בעצם? זה עושה לנו מחרוזת עם סלאשים לדוגמא הכניסו את הערך:
וכשנוציא את זה אחרי הפונקציה שעשינוי זה ייפלוט:
אז כדי שזה ייפלוט הכל נורמאלי עושים פשוט ככה:
PHP קוד:
stripslashes($var);
זה מעיף את כל הסלאשים למינהם מהמשתנה var ופולט הכל כרגיל ויפה
זהו, אם יש עוד בקשות וכאלה, אתם מוזמנים לבקש או לשאול
