Skip to content

add a warning for callback and array with less than 2 items #4777

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

alexislefebvre
Copy link
Contributor

@alexislefebvre alexislefebvre commented Jul 12, 2025

@alexislefebvre alexislefebvre force-pushed the add-a-warning-for-callback-and-short-array branch from bd73101 to 8239500 Compare July 20, 2025 15:02
Comment on lines +743 to +745
The callback is not called if the input has less than 2 items,
an error (e.g. accessing an invalid key of an array) or an exception
will not be reported, unless you test it with 2 items or more.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small suggestion to split it up in 2 sentences, and a small correction (error->warning):

Suggested change
The callback is not called if the input has less than 2 items,
an error (e.g. accessing an invalid key of an array) or an exception
will not be reported, unless you test it with 2 items or more.
The callback is not called if the input has less than 2 items.
A warning (e.g. accessing an invalid key of an array) or an exception
will not be reported, unless you test it with 2 items or more.

What do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to explicitly explain that an error will go unnoticed, see the example here:

Or this one: https://3v4l.org/k0bHmC#vnull

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. The reason I suggested warning is because invalid array keys normally don't cause errors, so the example is a bit weird.

Copy link
Contributor Author

@alexislefebvre alexislefebvre Jul 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My bad, it's a warning: https://3v4l.org/SuJRd#vnull

It also trigger a deprecation, that is also silenced if the array has only one element (previous example).

I'll have to find something more problematic than using an invalid key because a warning is not a big deal. The example should mention an unrecoverable error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Mention that usort doesn't call the callback if the array has only one element?
2 participants