1505
צפיות
צפיות
9
תשובות
תשובות
עזרה בPhp
<?php
$s;
echo gettype( $s );
?>
הוא רושם Null שזה בסדר ומעל מין טבלה כזאת אדומנה ואומר שיש שגיאה בשורה 3..למה?
עכשיו עוד דבר..
קוד PHP:
<?php
$s = 5;
echo is_int($s) ;
?>
<?php
$s;
echo gettype( $s );
?>
הוא רושם Null שזה בסדר ומעל מין טבלה כזאת אדומנה ואומר שיש שגיאה בשורה 3..למה?
עכשיו עוד דבר..
קוד PHP:
<?php
$s = 5;
echo is_int($s) ;
?>
9 תשובות
הכרזת על המשתנה S אך לא שמרת בו ערך. בשפת PHP אין צורך להכריז מראש על סוג הערך שיאוחסן במשתנה – הסוג נקבע לאחר ערך במשתנה.
במידה ותציב ב-S מספר שלם, המשתנה S יהיה מסוג INT, במידה ותאחסן מחרוזת אז S יהיה STRING.
מאחר והכרזת על S אך לא הצבת שום משתנה (כלומר, לא קבעת את סוג המשתנה המאוחסן בS), הפונקציה gettype תחזיר NULL. כלומר – המשתנה ריק, ולכן S הוא מטיפוס NULL.
כלומר – למשתנה אין טיפוס ולכן gettype() מחזירה שגיאה.
אז זה בסדר?! (:
ועוד שאלה
מה זה אומר הדברים הבאים בphp כמובן(כיאלו דגומאות שאני יוכל להציב במשתנה כערך.
object
resource
(:
בעיקרון כן…
לא הבנתי מה הבעיה בקוד השני…?
object זה בעצם "טיפוס" שבנוי במבנה של struct או class שהגדרת…
כדי להבין יותר לעומק תקרא על מבנים ועל תכנות מונחה עצמים.
resource זה משתנה שמאחסן הפניה למקורות חיצוניים… אני לא בטוח אני יכול להסביר את הנושא בצורה כ"כ מובנת… תנסה לקרוא על זה… אפשר להגיד שזה הפניה לקובץ (לא בהכרח) שלא שייך לתוכנה.
הבעייה בקוד השני הוא זה שהוא כל הזמן שאני עושה is_int נגיד
אז התוצאה היא 1, זה אמור להיות ככה (לא משנה אם זה מספר מספר אם נקודה, מחרוזת, array או כל דבר אחר.
אני מצטער אבל אני עדיין לא מבין אותך? הפונקציה לא עושה מה שהיא צריכה?
במידה ו-S הוא מטיפוס שלם (INT) אז הפונקצייה is_int צריכה להחזיר TRUE (כלומר 1).
השורה השנייה קצת בלבלה אותי בגלל הפיסוק שלך – זו הייתה שאלה או הבערה?
אשמח לעזור אם רק תסביר בצורה יותר ברורה מה הבעיה – למה אתה מצפה ומה קורה במקום.