امروز درگیر یک کد بودم شبیه این :
<?php $string = "This is a string"; if (isset($string['default'])) echo $string['default'];
به نظر شما خروجیش چیه؟؟؟ یعنی اصلا چیزی باید چاپ بشه یا نه؟ من معتقدم که نباید چیزی چاپ بشه. یعنی شرط if اصلا درست نیست که بخواد برسه به echo ولی مساله مسخره اینه که isset میگه این ایندکس وجود داره و -برداشت شخصی من اینه که- PHP وقتی میخواد یه رشته رو باهاش به صورت آرایه ای برخورد کنه، اول ایندکس آرایه رو به صورت عدد درمیاره با اون قواعدی که خودش داره، ( قواعد استاندارد خودش ) بعد اون کاراکتر رو چاپ میکنه.
نتیجه خیلی غیر قابل تصور بود برای من!!!!!
حالا اگه بگم تا ۱ ساعت درگیر این مساله مسخره بودم و این کد :
foreach ($opts as $opt => $value) { if (isset($value['default']) ) { $result[$opt] = $value['default']; } elseif (isset($value['type'])) { $result[$opt] = ''; } else { $result[$opt] = $value; } }
چقدر منو عذاب داد مطمئن باشید راست میگم و اصلا اغراق نیست!!!!!!
نظر شما چیه؟ این باگه؟ یا همینه که هست؟ باید گزارش بشه یا نه؟؟؟؟ کلا درسته که تبدیل روی ایندکس هم انجام بشه؟
– خیلی وقت بود ننوشته بودم :)چقدر دلم تنگ شده بود!!
– پی نوشت :نمیدونم چطوری اشتباهی :) نظرها رو بسته بودم. الان بازه دیگه ….