We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Pluck uses isset to check for the existence of a key. isset will not return true if the associated value is null which causes pluck to error.
isset
true
pluck
This should use array_key_exists instead. (property_exists for objects)
array_key_exists
property_exists
Example:
\Rx\Observable::of([null]) ->pluck(0) ->subscribe( fn($x) => printf("Next: %s\n", json_encode($x)), fn(\Throwable $e) => printf("Error: %s\n", $e->getMessage()), fn() => printf("Completed.\n") );
Outputs:
Error: Unable to pluck "0"
The expected output would be:
Next: null Completed.
Here is the object version which exhibits the same behavior:
\Rx\Observable::of((object)['foo' => null]) ->pluck('foo') ->subscribe( fn($x) => printf("Next: %s\n", json_encode($x)), fn(\Throwable $e) => printf("Error: %s\n", $e->getMessage()), fn() => printf("Completed.\n") );
The text was updated successfully, but these errors were encountered:
Successfully merging a pull request may close this issue.
Pluck uses
isset
to check for the existence of a key.isset
will not returntrue
if the associated value is null which causespluck
to error.This should use
array_key_exists
instead. (property_exists
for objects)Example:
Outputs:
The expected output would be:
Here is the object version which exhibits the same behavior:
The text was updated successfully, but these errors were encountered: