PDA

View Full Version : سوال: چگونه یک ارایه مانند "GLOBALS$" بسازیم.



hamidrezab185
جمعه 27 دی 1398, 14:00 عصر
منظور من از لحاظ کارایی نیست منظورم از لحاظ ساختاری هست.

اگر کد ";(var_dump($GLOBALS" را اجرا کنید:

151273

متوجه خواهید شد که "GLOBALS$" یک ارایه چند بعدی هست و دارای 9 ارایه می باشد.

اگر یک مقداری برای مثال "name" در "POST_" باشد نمی توانید به این شکل به ان دسترسی داشته باشید:
$GLOBALS["name"]

اما اگر این مقدار در ارایه "GLOBALS" باشد به راحتی میتوان به ان با استفاده از
$GLOBALS["name"] دسترسی داشت

حالا سوال من این هست که چجوری میتونیم ارایه چند بعدی بسازیم که مانند این ارایه کار کند؟

این سوال رو خیلی جاها پرسیدم مخصوصا در stackoverflow (https://stackoverflow.com) اما به هیچ جوابی نرسیدم

plague
جمعه 27 دی 1398, 14:22 عصر
متوجه نمیشم مشکل چیه ....همه آرایه های 2 بعدی همینجوری کار میکنن این مختص به GLOBALS نیست

اول باید اسم خونه اول رو بگی بعد اسم خونه دوم


$GLOBALS["_POST"]["name"]

ساختشم سادست



$ARRAY = [
'index1' => [ 'key'=>'value1'] ,
'index2' => [ 'key'=>'value2'] ,

];
var_dump($ARRAY["index1"]['key']);
var_dump($ARRAY["index2"]['key']);

hamidrezab185
جمعه 27 دی 1398, 14:43 عصر
فرض کنید این ساختار ارایه GLOBALS$ هست:


$GLOBALS = array( '_POST'=> [ "name"=>"ALI" ],
'GLOBALS'=> [ "fname"=>"FARHADI" ]);

برای اینکه به مقدار name دسترسی داشته باشم باید به قول شما هر دو خونه رو پر کنم:

$GLOBALS['_POST']['name']

ولی برای اینکه به fname دسترسی داشته باشم نیازی به پر کردن خونه دوم نیست و به این شکل میتونم ازش استفاده کنم


$GLOBALS['fname']

چرا این اتفاق میوفته و چجوری میشه همچین ارایه ای رو ساخت؟


"ارایه بالا نمونه ساختار هست با خود سوپر گلوبال GLOBALS$ باید امتحان کنید و برای دیدن ساختار اصلی کد;(var_dump($GLOBALS را اجرا کنید"