Guard against php8.0 ArgumentCountError #682
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes the following error:
that's php8.0 new feature which called Named Parameters which means that we can pass arguments to any function and give them names, something like:
back to our code, in the following line:
imagify-plugin/inc/classes/class-imagify-custom-folders.php
Line 847 in 5971929
this variable
$files_from_db
is associative array (array with keys and values) and we are trying to merge all values (which are arrays)This is because call_user_func_array will interpret the top-level array keys as parameter names to be passed into the array_merge, and these keys will not match the function arguments.
the solution here is just to get the array_values before passing it to call_user_func_array to be like
I wasn't able to see that in the test environment but this PR should fix this error.