שמות משתנים שמשתנים

לעיתים זה נוח להשתמש בשמות משתנים - משתנים . כלומר , שם משתנה יכול להקבע על-ידי התוכנית בצורה דינאמית . משתנה רגיל מקבל הצבה באמצעות פקודה כגון :

 
$a

 
=

 
"

 
hello"

 
;



משתנה ששמו משתנה לוקח את הערך של המשתנה ומתייחס אליו כאל שם משתנה . בדוגמה הקודמת , המחרוזת hello יכולה לשמש גם כשם משתנה על-ידי שימוש בשני סימני דולר :

 
$$a

 
=

 
"

 
world"

 
;



בנקודה זו מוגדרים שני משתנים בטבלת הסמלים של PHP . המשתנה $a שערכו " hello " והמשתנה $hello שערכו "world " . כפועל יוצא , הפקודה :

 
echo

 
"

 
$a

 
${$a}"

 
;



מייצרת פלט הזהה לפלט של :

 
echo

 
"

 
$a

 
$hello"

 
;



שתי הדוגמאות ידפיסו : hello world .

כדי להשתמש בשם משתנה משתנה עם מערכים יש לפתור בעיית כפל משמעות . כלומר , כאשר כותבים $$a[ 1 ] המפרש צריך לדעת אם להשתמש ב - $a[1 ] כהגדרת שם למשתנה או להשתמש ב - $$a כמשתנה בעל האינדקס [1 ] במערך . התחביר לפתירת כפילות זו הוא : ${$a[1] } במקרה בראשון ו ${$a}[1 ] במקרה השני .