PDA

View Full Version : سوال: مشکل با شرط



desatir7316
دوشنبه 04 اسفند 1393, 10:29 صبح
سلام دوستان
یه مشکل عجیب برام پیش اومده. قسمت های مختلف کدم true میدن ولی وقتی ترکیب می شن false میدن:
مثلا :
مقدار کد زیر رو که با مثلا var_dump چاپ می کنم true میده :

isset($params['post'])

این قسمت کد هم بازم true میده :

$params['post']->createdBy == $user

ولی وقتی اینارو ترکیب می کنم و می خوام نتیجه رو بر گردونم بهم false می ده:

return isset($params['post']) ? ($params['post']->createdBy == $user) : false;

leaping
دوشنبه 04 اسفند 1393, 12:11 عصر
منطق برنامت اینه که اگر
$params['post']->createdBy == $user بود و $params['post'] وجود داشت مقدار true برگردونه و اگر نبود مقدار false برگردونه درسته؟
اگر اینطور باشه به نظرم به جای دستور شرطی خلاصه این بهتر و خوانا تر باشه حالا شاید بقیه دوستان نظر دیگه ای داشته باشن



if(isset($params['post']) and $params['post']->createdBy == $user){ return true;}else{ return false;}

desatir7316
دوشنبه 04 اسفند 1393, 12:46 عصر
این کد برای فریم ورک yii هست
ظاهرا موقع برگردوندن نتیجه به طور ضمنی خودش یه چیزایی دیگه رو چک می کنه
توی یکی از تیبل ها id کاربر وارد نشده بود و به خاطر همین false می داد( تا اینجا که اینطوری به نظر میاد، در هر صورت فعلا مشکل رفع شده)

ممنون