Since the upgrade I’m getting the wrong autocomplete suggestions. I almost always need the 2nd suggestion whereas I had that one as the first suggestion before. Is this a setting somewhere?

Since the upgrade I’m getting the wrong autocomplete suggestions. I almost always need the 2nd suggestion whereas I had that one as the first suggestion before. Is this a setting somewhere?

Does this also happen in Safe Mode? In both cases both of the top completions in the panel don’t have any kind information annotation, which makes me think that they’re words being sourced from the buffer, possibly by a package or plugin.
Safe Mode would let you test that supposition quickly; if this doesn’t happen in Safe Mode, it’s a package doing it. That said, SublimeCodeIntel seems to be a frequent cause of this problem as of late.
That said, there is this setting (didn’t exist in ST3, in ST4 the value `“none” would replicate what ST3 did), but since this changes the order of things while typing and in both cases your issue is related to multiple entries with the same text, I don’t think it will help with this particular problem.
// Controls how the auto complete results are reordered when typing:
// - "none" will fully reorder the results according to how well the
// completion matches the typed text.
// - "some" will partially reorder the results, taking into account how
// well the completion matches whats typed, and likelihood of the
// completion.
// - "strict" will never reorder the results.
"auto_complete_preserve_order": "some",
I have tried to look for the Safe Mode, but I can’t find it. I went ahead and renamed the dirs Installed Packages and Packages temporarily, I figures it does the same? Package Control disappeared and my personal layout is gone.
The same issue is indeed still there. I also tried all the auto_complete_preserve_order settings.

Is there some way that the autocompleter is not recognising words for the functions that they are? It’s .php files with mixed html and php.
Documentation on safe mode and how to get there can be found here: https://www.sublimetext.com/docs/safe_mode.html ; it does the equivalent of moving the entire configuration area away instead of just some folders (so cache and etc are also cleared, which may or may not play a part in what’s happening here).
The determination of the type of a thing comes from clues provided by the syntax definition; for example it thinks that cairo_font_options_create() is a function based on your display, while foreach doesn’t appear as a function.
If it’s a keyword (such as while for example), then I would guess it’s being pulled in because it’s used elsewhere in the file and Sublime thinks it would be helpful, which is generally true but not if there is also a snippet that has the same text such as here.
If foreach is actually a function, then the syntax definition isn’t providing the right contextual clues to tell Sublime that.