некорректный вопрос. ни "@$foo", ни "&$variable" переменными не являются. перменные тут $foo и $variable.
Тоже с этим согласен. Как тебе тут? Идентичны ли? Но он же динамичен а значит и == и ===. Только в корке === это жесткость, по этому 0==='0' не будут равны. От суда и вывод: 0=='d' даст true, потому, что тут d будет 0 так - как, к приведению в тип int строкой даст 0 (int)'d' будет 0, ибо сработает динамика 0=='1d' даст false, так как к приведению (int)'1d' вернет 1, по этому 0!=1. 0=='d1' даст true ибо приведение к целому числу ведется от начала строки и если нашлись цифры значит вернутся, (int)'12B5' вернет 12.