توابع کار با آرایه در PHP - بخش اول

مبحث آرایه ها که در آموزش پیشین با آن آشنا شدیم، یکی از پرکاربردترین و در عین حال پیچیده ترین مباحث در بیشتر زبان های برنامه نویسی و به طور خاص php است، گستره استفاده از آرایه (Array) در php به حدی است که کم تر برنامه کاربردی را می توان یافت که در قسمتی از کدهای خود متکی بر آن نباشد، قابلیت تفکیک پذیری، تجزیه و ترکیب، تغییر چینش، دسته بندی آسان و طبقه بندی شده، دسترسی سریع و... باعث می شود که استفاده از آرایه ها در اغلب مواقع اجتناب ناپذیر به نظر برسد، به این خاطر است که در مفسر php برای مدیریت آرایه ها توابع از پیش تعریف شده زیادی در نظر گرفته شده است که هر کدام هدف و دستورالعمل خاصی دارند، از این رو اگر می خواهیم کار با آرایه ها را بیاموزیم، ناگزیر باید این توابع و نحوه کار آنها را نیز بشناسیم، البته فراوانی این توابع به حدی است که در یک مطلب نمی توان تمام آنها را خلاصه کرد، لذا در قالب چند مطلب آتی، در حد امکان به موارد عمومی می پردازیم و توابع خاص و پیچیده تر را نیز در مباحثی جداگانه مورد بررسی قرار خواهیم داد.
تابع is_array
نخستین تابعی که به آن می پردازیم، is_array نام دارد، is_array یک متغیر را به عنوان آرگومان دریافت کرده و بررسی می کند تا ببیند که آیا متغیر مورد نظر یک آرایه است (مقدار true یا 1 برگردانده می شود) یا خیر (مقدار false یا صفر برگردانده می شود)؛ به مثال زیر توجه کنید.
<?php
$array = array('welcome', 'to', 'php', 'array', 'learning');
$check = is_array($array);
if($check == true){
echo 'true';
}
else{
echo 'false';
}
?>
خروجی مثال بالا برابر خواهد بود با true، چرا که متغیر فرضی array یک آرایه است و نتیجه بررسی تابع is_array برابر عدد 1 که معادل true در php است خواهد بود.نکته: با استفاده از دستور print_r می توانید محتویات درون یک آرایه را به صورت قابل خواندن مشاهده کنید، به طور مثال برای آرایه بالا، به صورت زیر می توانیم این کار را انجام دهیم.
<?php
$array = array('welcome', 'to', 'php', 'array', 'learning');
print_r($array);
?>
که خروجی برابر خواهد بود با مقادیر زیر.Array
(
[0] => welcome
[1] => to
[2] => php
[3] => array
[4] => learning
)
تابع explode
اگر بخواهیم یک رشته متنی را تبدیل به آرایه کنیم، تابع explode در php این کار را انجام می دهد، نحوه کار این تابع بسیار ساده است، یک مقدار به عنوان جدا ساز (کلید تجزیه) و یک متغیر (رشته متنی) به عنوان آرگومان دریافت کرده و در نهایت یک آرایه به ما تحویل می دهد، به طور مثال اگر متنی که می خواهیم آن را تجزیه و تبدیل به آرایه کنیم، به صورت زیر باشد:
welcome to php array learning
کلید تجزیه در اینجا فواصل خالی بین کلمات است، لذا خواهیم نوشت:<?php
$string = 'welcome to php array learning';
$convert = explode(' ', $string);
print_r($convert);
?>
اگر اکنون از متغیر convert با استفاده از print_r خروجی بگیریم، خواهیم دید که این متغیر تبدیل به یک آرایه شده است.Array
(
[0] => welcome
[1] => to
[2] => php
[3] => array
[4] => learning
)
نکته: تابع explode یک عدد نیز به عنوان آرگومان سوم می پذیرد، این عدد تعداد کلیدهای تجزیه ای که در تبدیل به آرایه استفاده می شوند را مشخص می کند، به طور مثال اگر بخواهیم رشته ما در 3 آرایه تجزیه شود، دستور را به شکل زیر تغییر می دهیم:<?php
$string = 'welcome to php array learning';
$convert = explode(' ', $string, 3);
print_r($convert);
?>
و خروجی برابر خواهد بود با مقادیر زیر.Array
(
[0] => welcome
[1] => to
[2] => php array learning
)
نکته: دستور print_r تنها در مورد آرایه ها کاربرد دارد.تابع implode
در کنار تابع explode تابع دیگری به نام implode وجود دارد که دقیقا کار آن برعکس explode است، implode مقادیر موجود در کلیدهای آرایه را به وسیله یک کلید ترکیب، تبدیل به یک رشته می کند، به مثال زیر توجه کنید.
<?php
$array = array('welcome', 'to', 'php', 'array', 'learning');
$convert = implode(' ', $array);
echo $convert;
?>
ملاحظه می کنید که در اینجا ما از یک فضای خالی به عنوان کلید ترکیب استفاده کرده ایم، نتیجه مثال بالا به صورت زیر خواهد بود.welcome to php array learning
که در واقع آرایه ما تبدیل به یک رشته متنی شده است.تابع array_change_key_case
اگر آرایه ما به جای اعداد دارای کلیدهای متنی باشد و بخواهیم حروف کوچک کلیدها را تبدیل به حروف بزرگ یا برعکس حروف بزرگ کلیدها را به حروف کوچک تبدیل کنیم، از تابع array_change_key_case استفاده می کنیم، البته این تابع بیشتر برای مقادیر به زبان انگلیسی کاربرد دارد.
تابع array_change_key_case دو آرگومان می پذیرد، آرگومان اول همان آرایه ای است که قصد بررسی آن را داریم (input)، آرگومان دوم می تواند دو مقدار CASE_UPPER (تبدیل به حروف بزرگ) یا CASE_LOWER (تبدیل به حروف کوچک، حالت پیش فرض) باشد (case)، به عنوان مثال آرایه زیر را در نظر بگیرید.
<?php
$array = array('ali' => 3, 'pedram' => 6, 'maryam' => 5);
$change = array_change_key_case($array, CASE_UPPER);
print_r($change);
?>
خروجی مثال بالا به شکل زیر خواهد بود.Array
(
[ALI] => 3
[PEDRAM] => 6
[MARYAM] => 5
)
تابع array_chunk
اگر بخواهیم یک آرایه را به چند آرایه تجزیه کنیم، تابع array_chunk می تواند به کار گرفته شود، این تابع سه آرگومان می پذیرد، آرگومان اول همان آرایه ای است که روی آن کار می کنیم (input)، آرگومان دوم تعداد کلید و مقدار برای آرایه های زیر مجموعه است (size) و آرگومان سوم نحوه افزایش شماره کلیدها را (به صورت true یا false) در آرایه های زیر مجموعه نشان می دهد (حالت پیش فرض false است)که به آن preserve_keys گفته می شود، به مثال زیر توجه کنید.
<?php
$array = array('a', 'b', 'c', 'd' , 'e');
$chunk = array_chunk($array, 2, false);
print_r($chunk);
?>
خروجی مثال بالا به صورت زیر خواهد بود.Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
)
)
ملاحظه می کنید که آرایه های زیرمجموعه با دو کلید و مقدار تفکیک شده اند، البته چون تعداد کلید های ما پنج عدد بود، آرایه زیرمجموعه سوم تنها یک کلید و مقدار دارد. اگر مقادیر preserve_keys برابر true باشد، خروجی مثال ما به صورت زیر خواهد بود.
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[2] => c
[3] => d
)
[2] => Array
(
[4] => e
)
)
تابع array_combine
تابع array_combine برای ترکیب دو آرایه و ایجاد یک آرایه جدید کاربرد دارد، عملکرد این تابع به این شکل است که مقادیر آرایه اول را (آرگومان اول) به عنوان کلید و مقادیر آرایه دوم (آرگومان دوم) را به عنوان مقدار آرایه نهایی در نظر می گیرد، یعنی تنها با استفاده از مقادیر (value) دو آرایه را به یک آرایه تبدیل می کند، به مثال زیر توجه کنید.
<?php
$array1 = array('a', 'b', 'c', 'd' , 'e');
$array2 = array('55', '23', '43', '12' , '98');
$combine = array_combine($array1, $array2);
print_r($combine);
?>
خروجی مثال بالا به شکل زیر خواهد بود.Array
(
[a] => 55
[b] => 23
[c] => 43
[d] => 12
[e] => 98
)
یادآوری: دقت کنید که کلید ها در آرایه های بالا در واقع به صورت عددی و پنهان هستند، یعنی به فرض آرایه اول در واقع به شکل زیر است.$array1 = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd' , 4 => 'e');
تابع array_count_values
تابع array_count_values تعداد فراوانی تکرار هر مقدار (value) از یک آرایه را محاسبه کرده و با استفاده از آن مقدار، یک آرایه جدید می سازد، ساختار آرایه جدید به این صورت است که مقادیر به عنوان کلید های آرایه جدید و تعداد دفعات تکرار آنها به عنوان مقادیر آرایه جدید به کار می روند، به مثال زیر توجه کنید.
<?php
$array = array('a', 'b', 'a', 'd' , 'b');
$count_value = array_count_values($array);
print_r($count_value);
?>
خروجی مثال بالا به شکل زیر خواهد بود.Array
(
[a] => 2
[b] => 2
[d] => 1
)
تابع array_diff_assoc
تابع array_diff_assoc برای مقایسه یک آرایه با یک یا چند آرایه دیگر کاربرد دارد، نتیجه و خروجی این تابع، یک آرایه جدید با مقادیری است که در آرایه اصلی وجود داشته، ولی در آرایه یا آرایه های مقایسه شده وجود نداشته است، به مثال زیر توجه کنید.
<?php
$array1 = array('Tehran', 'Fars', 'Markazi', 'Gilan' , 'Esfahan');
$array2 = array('Tehran', 'Qazvin', 'Markazi', 'Gilan' , 'Khouzestan');
$array_diff = array_diff_assoc($array1, $array2);
print_r($array_diff);
?>
خروجی مثال بالا به صورت زیر خواهد بود.Array
(
[1] => Fars
[4] => Esfahan
)
نکته: ترتیب کلیدها و مقادیر بین آرایه هایی که مقایسه می شوند در این تابع اهمیت دارد، یعنی به فرض اگر مقدار Tehran در آرایه اول با کلید صفر مشخص شود، در آرایه دوم هم باید در کلید صفر وجود داشته باشد، در غیر این صورت تابع array_diff_assoc آن را نیز به عنوان یک تفاوت بین آرایه ها به خروجی ارسال می کند.تابع array_diff_key
تابع array_diff_key مشابه تابع array_diff_assoc عمل می کند، با این تفاوت که در اینجا به جای مقادیر، اگر کلید ها بین دو یا چند آرایه مقایسه شده متفاوت باشند، مقادیر متفاوت آرایه اول به خروجی ارسال می شوند، به مثال زیر توجه کنید.
<?php
$array1 = array('Tehran' => 12, 'Fars' => 45, 'Markazi' => 33, 'Gilan' => 47 , 'Esfahan' => 51);
$array2 = array('Tehran' => 16, 'Qazvin' => 32, 'Markazi' => 39, 'Gilan' => 48, 'Khouzestan' => 51);
$array_diff = array_diff_key($array1, $array2);
print_r($array_diff);
?>
خروجی مثال بالا به صورت زیر خواهد بود.Array
(
[Fars] => 45
[Esfahan] => 51
)
ملاحظه می کنید با اینکه مقادیر در آرایه ها با هم متفاوت هستند، اما تنها مواردی به خروجی ارسال شده اند که کلیدهایشان متفاوت بوده.تابع array_diff_uassoc
تابع array_diff_uassoc نیز با هدف مقایسه دو یا چند آرایه و به دست آوردن خروجی از مقادیر متفاوت آنها به صورت یک آرایه جدید مورد استفاده قرار می گیرد، تنها تفاوت در اینجا این است که خود تابع از یک تابع دیگر که توسط کاربر تعریف می شود، به عنوان آرگومان سوم استفاده می کند، این تابع (تابع کاربر) باید طوری نوشته شود که یکی از اعداد 1-، صفر یا 1 را برگرداند، به مثال زیر توجه کنید.
<?php
function value_compare($a, $b){
if ($a === $b){
return 0;
}
return ($a > $b)? 1:-1;
}
$array1 = array("lang" => "fa", "page" => "index", "date" => "2012", "10", "03", "10:40");
$array2 = array("lang" => "fa", "page" => "index", "date" => "2013", "16", "03");
$result = array_diff_uassoc($array1, $array2, "value_compare");
print_r($result);
?>
خروجی مثال بالا به شکل زیر خواهد بود.Array
(
[date] => 2012
[0] => 10
[2] => 10:40
)
ملاحظه می کنید که آرایه خروجی ما، از عناصری که در آرایه اول وجود دارد ولی در آرایه دوم وجود ندارد تشکیل شده است، کلید ها نیز از آرایه اول استخراج شده اند.نکته 1: در تابعی که توسط کاربر تعریف می شود (در اینجا تابع value_compare، برای هر کلید و مقدار آرایه ها مقایسه ای صورت می گیرد، اگر دو مقدار مساوی باشند، عدد صفر برگردانده می شود و این یعنی آن مورد نباید در خروجی باشد، در غیر این صورت عدد 1 یا 1- برگردانده می شود و مقادیر مربوطه به خروجی ارسال می شود.
نکته 2: در قسمت دوم تابع value_compare از شیوه مختصر نویسی دستورات شرطی (if و else) در php استفاده شده است، در اینجا علامت ? بعد از پرانتز مقایسه، نقش if و علامت : نقش else را دارد.
تابع array_diff_ukey
تابع array_diff_ukey نیز کارکردی مشابه array_diff_uassoc دارد، با این تفاوت که در اینجا به جای مقادیر، از کلیدها برای بررسی دو یا چند آرایه استفاده می شود، در اینجا نیز از یک تابع جانبی که توسط کاربر تعریف می شود استفاده شده و خروجی آن بر مبنای اعداد صفر، 1- یا 1 برگردانده می شود، به مثال زیر توجه کنید.
<?php
function key_compare($a, $b){
if ($a === $b){
return 0;
}
return ($a > $b)? 1:-1;
}
$array1 = array("lang" => "fa", "page" => "index", "date" => "2012", "10", "03", "10:40");
$array2 = array("lang" => "fa", "page" => "index", "date" => "2013", "16", "03");
$result = array_diff_ukey($array1, $array2, "key_compare");
print_r($result);
?>
خروجی مثال بالا به شکل زیر خواهد بود.Array
(
[2] => 10:40
)
اتفاقی که در کد بالا می افتد این است که چون مقدار فرضی 10:40 دارای کلید 2 است و چنین کلیدی در آرایه دوم وجود ندارد، به عنوان خروجی برگردانده می شود، در واقع اگر از آرایه ها به صورت مستقل با دستور print_r خروجی بگیرید، به طور ملموس تری با نحوه کارکرد این تابع آشنا خواهید شد.تابع array_diff
تابع array_diff نیز از خانواده توابع مقایسه ای در مورد آرایه ها است، این تابع مواردی را به عنوان خروجی انتخاب می کند که مقادیر دو کلید همسان، متفاوت باشند، یا مقادیر همسان و کلیدها متفاوت باشند و اگر یک کلید در آرایه اول وجود داشته باشد ولی آن کلید در آرایه دوم وجود نداشته باشد نیز به عنوان خروجی برگردانده می شود، به مثال زیر توجه کنید.
<?php
$array1 = array(0 => "a", 1 => "b", 2 => "c", 3 => "b");
$array2 = array(0 => "a", 1 => "b", 2 => "f");
$result = array_diff($array1, $array2);
print_r($result);
?>
خروجی مثال بالا به صورت زیر خواهد بود.Array
(
[2] => c
)
نکته: همان طور که ملاحظه می کنید، این تابع مقادیر تکراری را مجددا بررسی نمی کند، لذا چون مقدار b در کلید 1 بررسی شده و تفاوتی وجود نداشته است، در کلید 3 از آرایه اول مجددا بررسی نمی شود، اما اگر مقادیر b در کلید 1 از آرایه اول با مقادیر کلید 1 از آرایه دوم متفاوت بود، هم کلید 1 و هم کلید 3 آرایه اول به خروجی ارسال می شد.بحث توابع مربوط به آرایه ها را در آموزش های بعدی ادامه خواهیم داد.

توابع (Functions) در PHP
عملگرها (Operators) در PHP
حلقه for، foreach و while در PHP
آرایه (Array) در برنامه نویسی PHP
آموزش برنامه نویسی وب با PHP


اره قدیمی شده اما بنده نه sqli بلدم و نه pdo .
کاش توی آموزش هایی که قرار میدین این دو مقوله هم اضافه کنید.
ممنونم از محبت شما.
فکر کنم برای اینکه از , به جای - استفاده کنیم مجبور شدیم از تابع REPLACE(sub, '-', ',') استفاده کنیم.
پس اگه از همون اول اطلاعات توی ستون Sub به صورت 10,11,12 استفاده کنیم، بهتره این طور نیست؟
که تابع به صورت زیر درمیاد:
$res=mysql_query("SELECT * FROM tbl_name WHERE `cat` = '1' AND find_in_set('10', sub) ORDER BY `id` DESC ");
به نظر شما این از لحاظ سرعت جستجو بهتره یا بالایی؟
ممنونم از لطف شما.
نکته: بهتر است از اکستنش mysqli به جای اکستنشن mysql (که قدیمی است و صرفا جنبه آموزشی دارد) در پروژه های جدید استفاده کنید!
یه سوال داشتم. فرض کنیم که جدول ما دارای 3 ستون به نام های دسته و زیردسته و متن هست.
حالا اطلاعات سطر اول به شکل:
دسته = 1
زیر دسته = 10
متن = دلخواه
و سطر دوم به شکل
دسته = 1
زیر دسته = 10-11 (مثلا مطلب مشترک بین دو زیر دسته هست)
متن = دلخواه
و ....
هست.
حالا میخوام اطلاعاتی رو نمایش بدم که مربوط به دسته 1 و زیر دسته 10 هستن و این کد رو نوشتم:
$res=mysql_query("Select * From * Where `cat` = '1' and `explode("-",sub)` = '10' Order By `id` DESC ");
while($row = mysql_fetch_array($res)){
....
}
اما کد کار نمی کنه؟ مشکل کجاست؟دو مشکل در پرس و جو وجود دارد:
- بعد از FROM باید نام جدول را وارد کنید!
- تابع explode را نمی توانید به این شکل استفاده کنید!
پرس و جوی تصحیح شده:
$res=mysql_query("SELECT * FROM tbl_name WHERE `cat` = '1' AND find_in_set('10', REPLACE(sub, '-', ',')) ORDER BY `id` DESC ");
ایام عاشورا رو تسلیت میگویم
سوالی داشتم
چطوری میشه مقادیر منحصر به فرد داخل ارایه ها رو در صفحه خروجی بگیرم؟ مثلا در ارایه دو تا عکس شبیه به هم هست (نام هایشان) میخوام مقدارایی که شبیه همه رو فقط یک بار چاپ کنه ایا تابع اماده ای برای اینکار وجود داره؟
اگر بدون تابع اماده بخوام استفاده کنم و خودم بدون استفاده از تابع اماده استفاده کنم چگونه میشه؟
<?php
$m = "";
$ar = array('amir',
'1.jpg',
'2.jpg',
'3.jpg',
'3.jpg',
'5.jpg',
'1.jpg',
'5.jpg'
);
$ar = array_values(array_unique($ar));
//print_r($ar);
for($i = 0; $i < count($ar); $i++){
echo $ar[$i].'<br>';
}
?>
- برای این کار دو تابع زیر قابل استفاده هستند (کد بالا اصلاح شد):
$ar = array_values(array_unique($ar));
تابع array_unique موارد مشابه را حذف می کند، اما کلیدها بدون تغییر باقی می مانند، به همین جهت با تابع array_values کلیدها از مقدار 0 مجددا مرتب سازی می شوند.- برای کار با آرایه توابع آماده و استاندارد کار را راحتر انجام می دهند و استفاده از آنها اغلب بهترین راه است، با این حال روشی مشابه کد زیر هم می تواند کاربرد داشته باشد:
<?php
$m = "";
$ar = array('amir',
'1.jpg',
'2.jpg',
'3.jpg',
'3.jpg',
'5.jpg',
'1.jpg',
'5.jpg'
);
$count = count($ar);
@$result = array();
for($i = 0; $i < $count; $i++){
if(!in_array($ar[$i], $result)){
$result[] = $ar[$i];
}
}
print_r($result);
?>
چند مورد اشکال تایپی در قسمت تعریف
array_diff_assoc
وجود دارد که به جای کلمه ی آرایه از کلمه ی تابع استفاده شده است که لطفا اصلاح کنید.
یک سوال هم داشتم. تعریف یک متغیر با پیشوند استاتیک
به چه منطور می باشد. در برنامه نویسی تحت سیستم عامل یک گزینه باعث می شود متغیر در طول حیات برنامه مقدارش را حفظ کند ولی در وب نمی دونم چه حالتی پیدا می کند ! آیا با اتمام کار یک اسکریپت پی اچ پی یا همان صفحه باعث می شود مقدار آن برای فراخوانی بعدی پایدار باشد یا منظور دیگری مد نظر است
با تشکر
- ضمن تشکر، اشتباه تایپی اصلاح شد.
- در PHP نیز هدف از تعریف متغیر با scope یا حوزه static بی شباهت به زبان های سیستم عامل نیست، منتها طول حیات یک اسکریپت PHP مادامی است که کدها توسط مفسر پردازش می شوند و هنوز نتیجه به مرورگر ارسال نشده است، با پایان پردازش کدها و ارسال خروجی به مرورگر، همه چیز به حالت پیش فرض بر می گردد (در وب دو فاکتور کلاینت و سرور دخیل هستند که با دسکتاپ متفاوت است)، ضمن اینکه کدهای PHP بین کاربران مختلف به صورت مستقل پردازش می شوند و فراخوانی یک کد توسط یک کاربر تاثیری بر سایر کاربران ندارد!
.
.
.
مررررررررررررررررررررررررررررررررسیییییییییییییی
سوالی داشتم
من نمیفهمم در مورد توابع، آرایه ها و متغییر ها ما میتونیم مثل css ها کد های جدید اختراع کنیم یا نه؟
از نظر سینتکس های php اوکی شدم ولی کاربردی همچنان عاجزم ضمناً اگر توابع - متغییر - آرایه علاوه بر اختراع کد جدید خودمان کدهای ثابتی هم دارند لطفاً این استانداردها رو هم در اختیارمون بذارید ممنون میشم
تشکر فراوان
نکته: بدون داشتن تمرین و نوشتن برنامه های کوچک نباید انتظار درک روشنی از برنامه نویسی PHP داشته باشید، بیشترین درک با کدنویسی و آموزش گام به گام، تدریجی حاصل می شود.
استاد شرمنده اگه پیشنهاد بی جا و باعث ناراحتی شما شد من قصد این کار رو نداشتم . من فقط پیشنهاد دادم و این که شما همان طور که گفتم برای ما تا همین جاشم خیلی زحمت کشیدین که این همه مطالب رو تایپ و برای ما گذاشتین و این که به همه سوالات جواب میدین .
استاد یه سوال کوچک من تا الان که بخش مقدماتی رو تموم کردم همه مطالب رو تا جایی که تونستم و کد هایی که میشد نوشت تمرین کردم . بعد از مقدماتی میخوام شروع به طراحی کنم در حد ازمایش و بین این کدام مطالب رو بخونم اول مطالب بخش کاربردی یا مهارت های وب ؟
به مطالب سایت اکتفا نکنید، چون هنوز خیلی از بخش ها تکمیل نشده اند، بخش آموزش های کاربردی به نیاز شما بستگی دارد، چون مباحث این بخش پراکنده هستند و وابستگی خاصی به هم ندارند، مطالب قسمت مهارتهای وب سبک تر و از نظر دشواری در حد متوسط هستند، پس بهتر است ابتدا نگاهی به آنها بیندازید.
درست شما خودتون خیلی خوب مطالب را توضیح دادین ولی خوب چون ما مبتدی هستیم درکشون یه کم سخته
بازم ممنون استاد از زحماتی که برای ما مبتدی ها کردین .
خوشحالیم که آموزش ها مفید بوده، آرزوی موفقیت.
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.