Хм.. типизация) $x = (int) 2 + (int) 2 Вот как нужно развлекаться PHP: $userSocial->gender = (function() use ($userSocial) { if(!isset($userSocial->user['gender'])) return null; elseif($userSocial->user['gender'] == 'male') return 1; elseif($userSocial->user['gender'] == 'female') return 0; else return null; })();
OOП тут не причем, это работа с данными, можно например массив привести к объектному типу, а так в параметрах функции я встречал так лишь с массивами.
@Danil005, ну когда ты явно указываешь, что функция ожидает получить, ты страхуешь себя от того, что ты ей не то передашь. Поэтому это и было в язык введено постепенно - большая надёжность таких программ. Шаг в сторону - фатальная ошибка, которая лучше, чем молчаливая неверная работа