1 ضمیمه
چگونه یک ارایه مانند "GLOBALS$" بسازیم.
منظور من از لحاظ کارایی نیست منظورم از لحاظ ساختاری هست.
اگر کد ";(var_dump($GLOBALS" را اجرا کنید:
ضمیمه 151273
متوجه خواهید شد که "GLOBALS$" یک ارایه چند بعدی هست و دارای 9 ارایه می باشد.
اگر یک مقداری برای مثال "name" در "POST_" باشد نمی توانید به این شکل به ان دسترسی داشته باشید:$GLOBALS["name"]
اما اگر این مقدار در ارایه "GLOBALS" باشد به راحتی میتوان به ان با استفاده از $GLOBALS["name"]
دسترسی داشت
حالا سوال من این هست که چجوری میتونیم ارایه چند بعدی بسازیم که مانند این ارایه کار کند؟
این سوال رو خیلی جاها پرسیدم مخصوصا در stackoverflow اما به هیچ جوابی نرسیدم
نقل قول: چگونه یک ارایه مانند "GLOBALS$" بسازیم.
متوجه نمیشم مشکل چیه ....همه آرایه های 2 بعدی همینجوری کار میکنن این مختص به GLOBALS نیست
اول باید اسم خونه اول رو بگی بعد اسم خونه دوم
$GLOBALS["_POST"]["name"]
ساختشم سادست
$ARRAY = [
'index1' => [ 'key'=>'value1'] ,
'index2' => [ 'key'=>'value2'] ,
];
var_dump($ARRAY["index1"]['key']);
var_dump($ARRAY["index2"]['key']);
نقل قول: چگونه یک ارایه مانند "GLOBALS$" بسازیم.
فرض کنید این ساختار ارایه GLOBALS$ هست:
$GLOBALS = array( '_POST'=> [ "name"=>"ALI" ],
'GLOBALS'=> [ "fname"=>"FARHADI" ]);
برای اینکه به مقدار name دسترسی داشته باشم باید به قول شما هر دو خونه رو پر کنم:$GLOBALS['_POST']['name']
ولی برای اینکه به fname دسترسی داشته باشم نیازی به پر کردن خونه دوم نیست و به این شکل میتونم ازش استفاده کنم
چرا این اتفاق میوفته و چجوری میشه همچین ارایه ای رو ساخت؟
"ارایه بالا نمونه ساختار هست با خود سوپر گلوبال GLOBALS$ باید امتحان کنید و برای دیدن ساختار اصلی کد;(var_dump($GLOBALS را اجرا کنید"