משתנים ב-PHP מוגדרים עם סימן דולר - $variable_name, והם חייבים להתחיל באות או קו תחתון ויכולים להכיל בתוכם אותיות, ספרות וקוים תחתוניים. שמות המשתנים הם case-sensitive, כלומר יש הבחנה בין אותיות גדולות וקטנות (למשל: $Var שונה מ-$var).
ב-PHP3 המשתנים מיוחסים תמיד לפי ערכם (assigned by value), זאת אומרת שכאשר שמים משתנה אחד בתוך משתנה אחר, הערך מועתק מאחד לשני, ושינוי של משתנה אחד אינו משפיע על המשתנה האחר. ב-PHP4 יש גם ייחוס משתנים לפי מצביע (assigned by reference), וזאת עושים ע"י כתיבת & לפני המשתנה. אם שמים משתנה אחד במשתנה אחר ע"י ייחוס לפי מצביע, שינוי של אחד המשתנים ישפיע גם על האחר.