دوشنبه ۲۶ شهریور ۱۴۰۳

Monday, September 16, 2024 GMT +3:30

آرایه (Array) در برنامه نویسی PHP

php-array

در مباحث گذشته از بخش آموزش مقدماتی PHP با نحوه کار حلقه foreach آشنا شدیم و گفتیم که این نوع حلقه ها برای مدیریت آرایه (Array) کاربرد دارد به طور مثال مقادیری که از فرم های وب با قابلیت انتخاب چندگانه (multiple) ارسال می شوند را می توانیم در حلقه foreach مورد به مورد بررسی و به پارامترهای آن دسترسی داشته باشیم که این ساز و کار به کمک آرایه محقق می شود، به هر صورت این بار و در ادامه آموزش های مقدماتی می خواهیم دانشمان را در برنامه نویسی PHP کمی بیشتر توسعه داده و مبحث آرایه ها را با هم بررسی کنیم، فراگیری کامل و درست این مبحث می تواند درک ما را از نحوه کار کدهای PHP و ساختار ببرنامه های وب بسیار ارتقاء داده و در خیلی از پروژه ها راهگشا باشد.

آرایه (Array) چیست؟


آرایه (Array) در برنامه نویسی به ساختار داده ای به شکل متغیر یا آبجکت گفته می شود که خود شامل عناصر (Elements) زیرمجموعه به شکل لیست است که می توانیم با شماره عددی خودکار (Index) یا کلید (Key) اختصاصی به مقدار (Value) آنها دسترسی داشته باشیم، بنابراین در مورد آرایه ها با چند اصطلاح زیر روبرو خواهیم شد:
- Array: آرایه ای که تعریف می کنیم.
- Element: به هر عضو در آرایه عنصر یا Element گفته می شود.
- Index: به موقعیت عددی خودکار عنصر در فهرست عناصر آرایه ایندکس گفته می شود و با آن به مقادیر عنصر مورد نظر دسترسی پیدا می کنیم.
-Key: کلید اختصاصی که به صورت غیرخودکار تعیین می شود و با آن به مقادیر عنصر مورد نظر دسترسی پیدا می کنیم.
Value: مقداری که هر عنصر آرایه در خود نگهداری می کند.
بر این اساس اگر آرایه ما در PHP به شکل نمونه زیر باشد:
<?php
$array = array('HTML', 'CSS', 'JS', 'PHP');
?>
در این ساختار عبارت array اول متغیر آرایه، array دوم دستور تعریف آرایه و عبارت های رشته ای HTML، CSS، JS و PHP که با کاراکتر کاما (,) از هم جدا شده اند هرکدام عناصر آرایه هستند، ایندکس ها در این شیوه به صورت خودکار و از 0 شمارش می شوند (آرایه در زبان PHP به صورت Zero-based است) که در نمونه کد قابل روئیت نیست اما در هنگام دسترسی به مقادیر عناصر به کار می آید، به طور مثال اگر بخواهیم مقادیر Index 3 آرایه بالا را استخراج و در خروجی چاپ کنیم می توانیم با کد زیر این کار را انجام دهیم:
<?php
$array = array('HTML', 'CSS', 'JS', 'PHP');
echo $array[3];
?>
که نتیجه عبارت
PHP
خواهد بود، دقت کنیم ایندکس و کلید دو مفهوم مشابه هستند با این تفاوت که ایندکس (Index) در حالتی استفاده می شود که شماره گذاری موقعیت عناصر به صورت خودکار و عددی (از 0) توسط مفسر انجام شده باشد اما کلید (Key) زمانی است که کلیدواژه دسترسی به عنصر را به صورت عددی یا با در نظر گرفتن برچسب متنی خودمان تعیین می کنیم، به طور مثال در نمونه کد زیر استفاده از ایندکس 3 خطا خواهد داشت:
<?php
$array = array(0 => 'HTML', 1 => 'CSS', 2 => 'JS', 5 => 'PHP');
echo $array[3];
?>
کد بالا خطای
Notice: Undefined offset: 3
را چاپ می کند چون ایندکس 3 در آرایه وجود ندارد و برای چاپ عبارت PHP باید از کلید 5 استفاده کنیم:
echo $array[5];
در واقع می توان گفت زمانی که به صورت دستی شماره ایندکس عناصر آرایه را تغییر می دهیم اصطلاح کلید (Key) جانشین فهرست (Index) می شود، به طور خلاصه فهرست (Index) شماره گذاری خودکار و کلید (Key) می تواند مقدار عددی یا متنی باشد که هر دو اصطلاح برای دسترسی به مقدار (Value) عناصر آرایه کاربرد دارند.

شیوه های مختلف تعریف آرایه در PHP


آرایه در PHP مشابه دیگر زبان مرتبط با وب یعنی جاوا اسکریپت به دو شیوه زیر قابل تعریف است:
- تعریف آرایه با عبارت دستوری array، به طور مثال:
<?php
$array = array(100, 200, 300);
?>
- تعریف آرایه با کاراکتر قلاب []، به طور مثال:
<?php
$array = [100, 200, 300];
?>
نتیجه هر دو روش بالا از نظر فنی یکسان است و صرفا در نحوه تعریف و Syntax تفاوت وجود دارد، در ادامه هر دو روش بالا را به تفصیل بررسی می کنیم.

تعریف آرایه در PHP با عبارت دستوری array


اولین روش تعریف آرایه در PHP استفاده از عبارت دستوری array است، در این حالت کلیدها و مقادیر (Key/Value) را می توانیم با علامت پیکان (<=) به صورت جفتی در نظر بگیریم یا اینکه صرفا مقادیر آرایه را با کاراکتر کاما (,) از هم متمایز کرده و ایندکس گذاری خودکار را به مفسر PHP واگذار کنیم، به طور مثال:
<?php
$array_1 = array('A' => 100, 'B' => 200, 'C' => 300);
echo $array_1['B'] . '<br>';
$array_2 = array(100, 200, 300);
echo $array_2[2];
?>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
200
300
در آرایه اول برچسب مقادیر به صورت سفارشی و با کاراکترهای متنی (A,B,C) انجام شده است که در این حالت از اصطلاح کلید (Key) استفاده می کنیم، به فرض مقادیر کلید A در آرایه array_1 برابر با 100 است، اما در آرایه دوم شماره گذاری به صورت خودکار و از 0 انجام می شود (اشاره شد که آرایه ها در PHP از 0 شماره گذاری می شوند و به اصطلاح Zero-based هستند)، در این حالت از اصطلاح ایندکس (Index) استفاده می کنیم به فرض مقادیر ایندکس 1 آرایه array_2 برابر با 200 است.
نکته: زبان برنامه نویسی PHP برخلاف جاوا اسکریپت (JavaScript) به صورت ذاتی از آرایه های با کلید متنی (Associative Array) پشتیبانی می کند و نیازی به تعریف آبجکت ثابت (Literal Object) جداگانه نیست.

تعریف آرایه در PHP با کاراکتر قلاب []


شیوه دوم تعریف آرایه که به حالت مختصرنویسی نیز معروف است استفاده از کاراکتر قلاب [] (یا Square Bracket) است که در این حالت هم می توانیم با یا بدون استفاده از کلیدهای سفارشی آرایه مورد نظر را تعریف کنیم، به طور مثال:
<?php
$array_1 = ['A' => 100, 'B' => 200, 'C' => 300];
echo $array_1['B'] . '<br>';
$array_2 = [100, 200, 300];
echo $array_2[2];
?>
خروجی نمونه کد بالا نیز به صورت زیر خواهد بود:
200
300
اینکه در کدنویسی از چه شکلی از تعریف آرایه استفاده کنیم بستگی به موقعیت و گاهی سلیقه برنامه نویس دارد، روش array قدیمی تر است و از زمان پیدایش PHP معرفی شده است اما روش قلاب جدیدتر است و از نسخه 5.4 به مفسر PHP اضافه شده است، در هر صورت ممکن است در موارد محدودی کدنویسی برخی برنامه ها صرفا از یک روش خاص پشتیبانی کنند.

تعریف آرایه های دو یا چندبعدی (Multidimensional) در PHP


استفاده از آرایه ها در کدنویسی برنامه های وب به حالت ساده و تک بعدی محدود نمی شود، گاهی مواقع مقدار هر کلید می تواند خود یک آرایه (آرایه آرایه یا Array of Array) باشد و این شیوه ممکن است تا چند سطح عمق پیدا کند که در این حالت از اصطلاح آرایه چند بعدی (Multidimensional) استفاده می کنیم، اصول تعریف و دسترسی به عناصر آرایه در این شیوه ها نیز مشابه با حالت تک بعدی است که در ادامه با چند مثال بررسی می کنیم.
- مثالی از آرایه دوبعدی در PHP:
<?php
$array_1 = ['A' => array(10, 20, 30), 'B' => array(40, 50, 60), 'C' => array(70, 80, 90)];
echo $array_1['B'][1];
?>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
50
- مثالی از آرایه چندبعدی در PHP:
<?php
$array_1 = [array([10, 20, 30], [40, 50, 60]), 56, 78];
echo $array_1[0][0][0];
echo '<br>';
echo $array_1[1];
?>
خروجی نمونه کد بالا به صورت نمونه زیر خواهد بود:
<?php
$array_1 = [array([10, 20, 30], [40, 50, 60]), 56, 78];
echo $array_1[0][0][0];
echo '<br>';
echo $array_1[1];
?>
در این نمونه کد برای تعریف آرایه و عناصر زیرمجموعه آن از روش های مختلف (عبارت دستوری array و کاراکتر قلاب []) استفاده کرده ایم.
نکته: گفتیم که PHP به صورت ذاتی از آرایه هایی که کلید متنی یا سفارشی داشته باشند (Associative Array) پشتیبانی می کند.

افزودن یا حذف عنصر آرایه در PHP


در مثال های بالا با نحوه دسترسی به عناصر آرایه به روش ایندکس (Index) و کلید (Key) آشنا شدیم، اما اگر بخواهیم یک عنصر را در مرحله دیگری از برنامه به آرایه اضافه یا برعکس اگر بخواهیم عنصری را از آرایه حذف کنیم چاره چیست؟
در اغلب زبان های برنامه نویسی برای اینگونه موارد توابع اختصاصی جداگانه ای تعریف می شود و ما هم در ادامه این سری از آموزش ها توابع کار با آرایه در PHP را بررسی خواهیم کرد منتها حذف و اضافه ساده نیازی به استفاده از تابع اختصاصی ندارد و به صورت زیر انجام می شود.
برای افزودن یک عنصر به آرایه بعد از مرحله تعریف کافی است از روش نمونه زیر پیروی کنیم:
<?php
$array_1 = ['A', 'B', 'C'];
$array_1[] = 'D';
echo $array_1[3];
?>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
D
اگر با دستور print_r از آرایه array_1 خروجی بگیریم خواهیم داشت:
Array ( [0] => A [1] => B [2] => C [3] => D )
همان طور که مشخص است از شیوه شماره گذاری خودکار (Index) در این حالت استفاده شده است، یک مثال از شیوه اختصاص کلید (Key) سفارشی:
<?php
$array_1 = [22 => 'A', 13 => 'B', 57 => 'C'];
$array_1['14'] = 'D';
echo $array_1['14'];
?>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
D
اگر با دستور print_r از آرایه array_1 خروجی بگیریم خواهیم داشت:
Array ( [22] => A [13] => B [57] => C [14] => D )
در حالت کلیدهای سفارشی رعایت ترتیب کلیدها اهمیتی ندارد.
برای حذف یک عنصر از آرایه نیز تابع عمومی unset به روش زیر قابل استفاده است:
<?php
$array_1 = [22 => 'A', 13 => 'B', 57 => 'C'];
unset($array_1[22]);
print_r($array_1);
?>
نتیجه اجرای نمونه کد بالا به صورت زیر خواهد بود:
Array ( [13] => B [57] => C )
برای حذف عنصر مورد نظر از آرایه کافی است در تابع unset آرایه را به همراه کلید متناظر به عنوان آرگیومنت تنظیم کنیم، همین روش برای حالت ایندکس خودکار نیز کاربرد خواهد داشت، مثال:
<?php
$array_1 = ['A', 'B', 'C'];
unset($array_1[0]);
print_r($array_1);
?>
نتیجه اجرای نمونه کد بالا به صورت زیر خواهد بود:
Array ( [1] => B [2] => C )
نکته مهم اینکه با حذف عنصر از آرایه با تابع unset چینش کلیدها تغییری نمی کند.

استفاده از آرایه ها در حلقه foreach


در مفسر PHP حلقه foreach به صورت ذاتی و پیش فرض برای دسترسی به عناصر آرایه ها در دور تکرار تعریف شده است که در آموزش های مرتبط با انواع حلقه (Loop) به اختصار در این خصوص صحبت کردیم، با حلقه foreach می توانیم به فرض اطلاعات ارسال شده از فرم های HTML که فیلدهایی با قابلیت چندگانه (Multiple) دارند را تجزیه کرده و آیتم به آیتم عناصر آرایه ارسالی را مورد پردازش قرار دهیم، به طور مثال اگر فرم HTML زیر را داشته باشیم:
<form action="#" method="post">
<label for="country">انتخاب کشور:</label>
<select name="country[]" id="country" multiple="multiple">
<option value="Iran">Iran</option>
<option value="Germany">Germany</option>
<option value="Japan">Japan</option>
</select>
<input type="submit" value="ارسال">
</form>
در این فرم فیلد انتخاب شونده با نام فرضی country قابلیت چندگانه (Multiple) دارد و کاربر می تواند با نگه داشتن کلید Ctrl از بین option های موجود یک یا چند مورد را انتخاب و ارسال کند، با دقت در کدنویسی فرم HTML مشخص است که کاراکتر قلاب [] و عبارت multiple به فیلد country اضافه شده اند، در این حالت اطلاعات فیلد مورد نظر به صورت آرایه به سرور ارسال می شود اما در سمت سرور این آرایه را به چه نحوی مدیریت و به عناصر آن دسترسی پیدا کنیم؟
پاسخ حلقه foreach است به طور مثال:
<?php
@$country = $_POST['country'];
foreach($country as $key => $value){
    echo $value . '<br>';
}
?>
به این صورت اگر کاربر تمام موارد را انتخاب کند خروجی به شکل زیر خواهد بود:
Iran
Germany
Japan
با حلقه for هم می توانیم به عناصر آرایه در دور تکرار دسترسی داشته باشیم اما حلقه for به طور ذاتی برای کار با آرایه ها تعریف نشده و باید هنگام گرفتن خروجی ایندکس/کلید مورد نظر را تعیین کنیم، به طور مثال:
<?php
@$country = $_POST['country'];
$count = count($country);
for($i = 0; $i < $count; $i++){
    echo $country[$i] . '<br>';
}
?>
کد بالا خروجی مشابه حلقه foreach خواهد داشت.
توجه کنیم در حالت for ایندکس/کلید آرایه به صورت داینامیک و در هر دور حلقه متغیر است، در واقع ایندکس/کلید همان مقادیر متغیر i است که در هر دور حلقه یک واحد افزایش می یابد و حلقه نیز تا جایی که مقادیر i از تعداد عناصر آرایه که با تابع count محاسبه شده کوچکتر باشد ادامه می یابد.
در آموزش های بعدی با توابع کار با آرایه (Array Functions) که با تنوع  و تعداد زیاد در مفسر PHP وجود دارند آشنا خواهیم شد.
دسته بندی: آموزش مقدماتی » PHP
related مطالب بیشتر:
تعریف و استفاده از متغیر (Variable) در PHP
حلقه for، foreach و while در PHP
دستور switch و case در PHP
توابع کار با آرایه در PHP - بخش اول
دستورات شرطی (Conditional Statements) در PHP
دیدگاه
more ۵۲ دیدگاه برای این مطلب ارسال شده است.
more دیدگاه جدید بر اساس تاریخ ارسال در انتهای دیدگاه های موجود نمایش داده می شود.
sina
۱۱:۳۷ ۱۳۹۱/۰۶/۱۴
سلام به مدیر سایت
اول تشکر میکنم بخاطر سایت خوبتون
دوم اینکه مطالب آموزش php خیلی کمه
مطالب بخش ها هنوز کامل نشده است و با توجه به اینکه آموزش ها باید قبل از انتشار، بررسی و تست شوند، به تدریج این کار انجام می شود.
شکرزاده
۱۵:۱۴ ۱۳۹۱/۰۸/۲۹
با سلام و احترام و ضمن تشکر از زحمات شما و مطالب خیلی مفیدی بود ممنون از شما من دانشجوی کارشناسی مهندسی فناوری اطلاعات هستم و در برنامه نویس سی شارپ ضعیف هستم لذا خواهشمند است در صورت امکان خواهشمند است جزوه اموزش برنامه نویسی سی شارپ را برای بنده ارسال فرمائید با احترام شکرزاده
خواهش می کنیم، متاسفانه فعالیت های سایت تنها در چارچوب برنامه نویسی وب است و در مورد سایر زبان های برنامه نویسی فعالیتی نداریم.
یه دعاگو
۱۳:۰۹ ۱۳۹۱/۱۱/۱۱
سلام
همه مطالب عالیه عالی !!!
ازتون تشکر میکنم و برای سلامتی و شادی دلتون دعا. ممنونم
دیر سایتتون و پیدا کردم ولی چند روزه دارم مثل یه رمان جذاب همه صفحاتش رو می خونم
و منتظر روزی می مونم که یک پروژه کوتاه رو از ابتدا و مرحله به مرحله پیاده سازی و طراحی کنید به طوریکه همه بخش ها (html, css, js, php و Mysql) رو در بربگیره ، سپاسگزارم.
خواهش می کنیم، نظر لطف شما است، البته به قولی بیشتر سعی می کنیم به کاربران به جای ماهی، ماهی گیری یاد بدهیم!
یه دعاگو
۱۲:۵۷ ۱۳۹۱/۱۱/۱۴
با سلام و تشکر
به نظر شما بهتر نیست بعد از آموختن ماهیگیری با هم تجربه گرفتن یک ماهی رو هم داشته باشیم، تا این آموزش جاودانه تر باشه؟
در واقع من خودم در حد متوسط با همه بخش ها کار کردم و آشنا هستم ولی جرات و جسارت پیاده کردن یک سایت و در کنار هم قرار دادن این آموخته هام رو ندارم ، ممنون می شم اگر راهنمایی ام کنید.
البته دانش وب واقعا گسترده است و برای ساخت یک سایت متوسط باید وقت زیادی گذاشت و با مباحث زیادی آشنا بود، به همین دلیل است که نمی توان در مطالب سایت یک پروژه را خلاصه کرد، چون از حوصله اکثر کاربران خارج است و دلیل دیگر اینکه اگر برنامه نویسی را به صورت کاربردی یاد بگیریم، اندک اندک می توان با پروژه های کوچک و آزمایشی کار کنیم، خیلی از تجربه ها در حین کار کسب می شود؛ ما هم در آموزش ها سعی کرده ایم مطالب به گونه ای باشد که در چند نوع پروژه و با توجه به نیاز کاربران قابل استفاده باشد.
یه دعاگو
۰۹:۵۸ ۱۳۹۱/۱۱/۱۵
بله، بسیار ممنونم.
جهان
۰۰:۳۶ ۱۳۹۱/۱۱/۲۸
با سلام و خسته نباشید
نمی دانم این زحمت های شما با چه چیز قابل جبران است ولی امیدوارم که به همه ی ارزوهاتون برسین
فقط اگه بتونین این مجموعتون رو به صورت یک کتاب در بیارین واسه دانلود بزارین پولیم باشه مهم نیست ممنون میشم
همیشه شاد باشین
خیلی ممنون از نظر لطف و پیشنهاد شما، در حال حاضر این امکان میسر نیست، اما ممکن است در آینده عملی شود.
شهرام
۱۲:۵۵ ۱۳۹۲/۰۲/۲۹
سلام خسته نباشید یه سوال داشتم
من یه فرم تو صفحه php نوشتم و می خوام این فرم چند بار تکرار بشه به خاطر همین اون رو تو for گذاشتم ولی ارور میده میشه راهنمایی کنید ممنون
for($i=0;$i<=2;$i++){
<form action="register1.php" method="post">
<label for="tel1">شماره تلفن:</label>
<input name="mobile" id="mobile" type="int" maxlength="255" />
<input type="submit" value="وارد کردن" />
</form>
}
نمی توانید کدهای HTML را به صورت مستقیم در دستورات PHP استفاده کنید، از echo استفاده کنید، مثال:
<?php
for($i=0;$i<=2;$i++){
echo '<form>
<label for="tel1">شماره تلفن:</label>
<input name="mobile" id="mobile" type="int" maxlength="255" />
<input type="submit" value="وارد کردن" />
</form>'
;
}
?>
۱۶:۱۹ ۱۳۹۲/۰۵/۱۶
دوباره سلام دوست عزیز امیدوارم حالت خوب باشه یه سوالی داشتم
<?php
@$name = $_POST['name'];
if ($name) {
echo "$name خوش آمدید";
}
else {
echo "مهمان خوش آمدید";
}
?>
می خوام بجای خوش امدید هر چی که تو اینپوت تایپ کنی بعد دکمه رو بزنی متن پیام به صورت جاوا اسکریپت ظاهر بشه تو پنجره ی مرورگر
مثلا میخوام
echo "$name خوش آمدید";
این رو تو پنجره ی مرورگر ظاهر بشه به صورت جاوا اسکریپت می خوام بدونم پی اچ پی و جاوا اسکریپت چطور میشه با هم مخلوط کرد ممنون میشم جوابم رو بدید
PHP یک زبان HTML embedded است، یعنی می توانید دستورات آن را با سایر تگ های HTML در یک فایل داشته باشید، لذا:
<?php
@$name = $_POST['name'];
$message = NULL;
if ($name) {
$message = "$name خوش آمدید";
}
else {
$message = "مهمان خوش آمدید";
}
?>
<script type="text/javascript">
alert(<?php echo $message?>);
</script>
مومني موگويي
۱۱:۴۱ ۱۳۹۲/۰۶/۲۷
سلام خسته نباشيد ميشه راجع به تابع each تو php يه مقدار توضيح بدين، اگر امكانش هست همراه با مثال ممنون
تابع each یکی از توابع کار با آرایه ها در PHP است، کارکرد آن به این نحو است که کلید و مقدار یک آرایه را (شروع از ابتدا و اولین کلید) استخراج کرده و نتیجه را به صورت یک آرایه با چهار کلید، خروجی می دهد، دو کلید اول این آرایه خروجی، با مقدار و دو کلید دیگر با کلید آرایه اصلی پر می شوند، مثال:
<?php
$main_array = array('Hello', 'World!');
$each_array = each($main_array);
print_r($each_array);
?>
خروجی:
Array
(
[1] => Hello
[value] => Hello
[0] => 0
[key] => 0
)
این تابع معمولا در کنار list و برای پیمودن یک آرایه و استخراج کلید و مقدار استفاده می شود (در کل تابع پر کاربردی نیست)، مثال:
<?php
$main_array = array('Hello', 'World!');
while(list($key, $value) = each($main_array)){
echo $key .' - '. $value .'<br>';
}
?>
خروجی:
0 - Hello<br>1 - World!<br>
مومني موگويي
۱۲:۵۶ ۱۳۹۲/۰۶/۲۸
ممنون از لطفتون
مومني موگويي
۱۳:۰۴ ۱۳۹۲/۰۶/۲۸
سلام دوست عزيز بنده يه سوال ديگه هم دارم مهمترين و كاربردي ترين مباحث تو php چه مباحثي هستند كه بنده اونا رو بيشتر بخونم آيا راجع به امنيت وب كتاب جامع و خوبي سراغ دارين اگر امكان داره ميشه معرفي كنيد با تشكر موفق باشيد انشالله
PHP یک زبان برنامه نویسی است و یک زبان برنامه نویسی مجموعه ای از دستورات و مباحث مختلف را دربر می گیرد که برای حرفه ای بودن، تسلط بر بیشتر آنها لازم است، به هر صورت مباحث مهم تر در PHP را می توان بحث کار با آرایه ها و توابع مربوط به آرایه، توابع مربوط به مدیریت فایل، حلقه ها، روش های مختلف اتصال به دیتابیس، کار با تاریخ و زمان و نهایتا شی گرائی نام برد.
در مورد معرفی کتاب، متاسفانه منبع کاملی در این زمینه مد نظر نداریم، باید (در وب یا در بازار) جستجو کنید.
مومني موگويي
۰۹:۰۴ ۱۳۹۲/۰۶/۲۹
ممنون از لطفتون دوست گرامي
مومني موگويي
۱۹:۵۳ ۱۳۹۲/۰۷/۲۰
سلام خسته نباشيد ميشه تابع
error_log()
را با مثال توضيح بدين
تابع error_log برای مدیریت خطاها به طور مثال برای ذخیره در یک فایل log مربوط به error ها یا ارسال آن از طریق ایمیل است، معمولا این تابع دو یا سه آرگومان دارد که برای تنظیمات مختلف به کار می رود، به فرض اگر بخواهیم خطای رخ داده در فایل ذخیره شود:
if($error == true){
error_log("Error-Code:222!", 0);
}
یا اگر بخواهیم خطا را به ایمیل ارسال کنیم:
error_log("Error!", 1,  "admin@example.com");
اطلاعات بیشتر:
http://php.net/manual/en/function.error-log.php
مومني موگويي
۱۵:۴۵ ۱۳۹۲/۰۷/۲۲
سلام ممنون
مومني موگويي
۱۳:۳۳ ۱۳۹۲/۰۷/۲۳
سلام خسته نباشيد ببخشيد كاربرد @ تو php چيه ممنون از جوابتون و لطفتون
در صورت استفاده در ابتدای متغیرها، به معنی نادیده گرفتن خطاها یا هشدارهایی است که از آن متغیر ممکن است گرفته شود (معمولا در حالت آگاهانه از آن استفاده می شود، به فرض برای متغیری که بعد از ارسال فرم مقداردهی می شود، جهت جلوگیری از پیام Notice: Undefined Variable).
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
9 × 4
20 × 20
=
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
مجتبی
سلام وقت بخیر میخوام یک روز به تاریخ دریافتی اضافه شه ممنون میشم راهنمایی کنید
۱۴۰۳/۰۶/۲۰

پرتو
سلام خوبید؟ خسته نباشیذ ببخشید مزاحم شدم می خواستم بگم من به شما ایمیل زدم ولی هنوز شما جواب ندادین می تونم بپرسم چرا سوال...
۱۴۰۳/۰۶/۱۵

سیدعباسی
با سلام ببخشید یه سوال دیگه هم دارم من با این تابع فقط یه دونه کانال رو می تونم خروجی بگیرم میخوام توی...
۱۴۰۳/۰۵/۰۶

سیدعباسی
با تشکر از شما مشکلم اینکه چطوری عکس پست آخر رو بدست بیارم و بعد با الگوی که اونو نوشتید استخراجش کنم سورس...
۱۴۰۳/۰۵/۰۵

سیدعباسی
با سلام من مشکل قبلیم رو که گفتم ارور میده رو حل کردم مشکل بعدیم اینکه با استفاده از این کد با تشکر...
۱۴۰۳/۰۵/۰۳

سیدعباسی
با سلام این کد رو چند روز پیش برام فرستادید و کارم رو راه انداخت با این میشه عکس ها رو استخراج کرد...
۱۴۰۳/۰۵/۰۱

پرتو
سلام جناب خوبید؟ چیزی شده جواب نمیدین؟ آخه من ایمیل دادمممم ممنون میشم چک کنید لطفا
۱۴۰۳/۰۴/۳۱
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا ۲۴ ساعت زمان ببرد.