У меня была та же проблема, но я все еще не уверен, почему, но я смог заставить ее работать, используя этот обходной путь:
$k2 ="1";
$elements = json_decode('{"id":"1","name":"User1"}');
//$elements['id'] == $k2; //****Not Working
$tmp = (object)$elements;
$tmp = $tmp ->id; //****Working
//$tmp =$elements['id'] ; //****Not Working
return $tmp == $k2;
Я должен сказать, что иногда доступ к элементу как к массиву работает, а иногда нет (на PHP7 у меня это работало, а на PHP5.6 - нет).
$elements
может быть массивом, но я решил продемонстрировать с помощью строки json.
Надеюсь, это поможет как-то !!!