Это связано с тем, что оператор == проверяет равенство (путем манипуляции с типом), а оператор === проверяет идентификатор.
Ответ 2
помните, что если вы считаете, что ваш элемент поиска можно найти более одного раза, вы должны использовать array_keys(), поскольку он будет возвращает ключи для всех совпадающих значений, а не только первый соответствующий ключ как array_search().