در یک برنامه تعداد زیادی فیلد input در فرم داشتم که باید در دیتابیس وارد می شد و در صفحه دیگری هم نمایش داده می شد.

همچین صفجه ای :

تابع extract

 

معمولا با داشتن   name هر  فیلد مقدار ورودی کاربر را در صفحه ای که اطلاعات به آن ارسال می شود به  کمک سوپرگلوبال POST_$  دریافت میکنیم.

این شکلی:

$fname =$_POST['fname'];
$lname =$_POST['lname'];
$job =$_POST['job'];
$gender =$_POST['gender'];
$birth =$_POST['birthdate'];
$phone =$_POST['phone'];
$email =$_POST['email'];
$address =$_POST['addr'];
$summary =$_POST['summary'];
$degree =$_POST['degree'];
$graduation_year =$_POST['graduation_year'];
$university =$_POST['university'];
$company =$_POST['company'];
$startdate =$_POST['startdate'];
$job_title =$_POST['job_title'];
$enddate =$_POST['enddate'];

مدام باید از POST_$ در هر خط استفاده کنیم. خسته کننده است و کدمان طولانی است و خیلی تمیز نیست.

اینجا تابع extract به کمک ما می آید.

تابع extract  کلید های آرایه را به متغیر و value ها را به مقدار آن متغیر تبدیل می کند.

آرایه ما اینجا همان سوپر گلوبال POST_$ است. که همه مقادیر فیلدها را درون خود دارد.

کلیدهای این آرایه نام فیلدها و مقادیرش مقدار ورودی در فیلدهاست که به صفجه مورد نظر ما ارسال شده.

کافی است بنویسیم:

extract($_POST);

این دو کلمه کدی که نوشتیم تمام کار کد طولانی بالا را برای ما انجام می دهد.

مثلا فیلدی داریم به نام job که مقدارش هم “کارمند” است.

تابع extract

با استفاده از تابع extract یک متغیر job$ خواهیم داشت با مقدار “کارمند” .

حالا با استفاده از مقدار های ارسالی از فرم ها بدون نیاز به نوشتن چندین باره POST_$ خیلی راحت تر است.