php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #81352 Doc states getopt returns false when it really returns an empty array
Submitted: 2021-08-12 12:26 UTC Modified: 2021-08-12 15:19 UTC
From: edg at greenberg dot org Assigned:
Status: Open Package: PHP options/info functions
PHP Version: 7.4.22 OS: Centos 7
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2021-08-12 12:26 UTC] edg at greenberg dot org
Description:
------------
---
From manual page: https://php.net/function.getopt
---

ON the manual page for getopt it states:

> This function will return an array of option / argument pairs, or false on failure.

When there are no options, it returns an empty array.  

So my bug report is to suggest that you indicate that "false on failure" refers to some other kind of failure and that no options found is indicated by an empty array. 

Thanks


Test script:
---------------
$options = getopt('', ['help', 'limit:', 'loops:', 'endtime:', 'tomorrow', 'agency:']);

Expected result:
----------------
Based on the doc, if I call the script with no options, I expected failure. 

Actual result:
--------------
I got an empty array.  

Note that I'm quite happy with the empty array, but wish that things in the doc had been a bit less ambiguous.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2021-08-12 15:19 UTC] cmb@php.net
-Package: Documentation problem +Package: PHP options/info functions
 [2021-08-12 15:19 UTC] cmb@php.net
Prior to PHP 8.0.0, FALSE was returned if the function was called
with unexpected parameters or parameter types.  Most other
functions returned NULL in that case.  Anyhow, there is no need to
document that, since this is actually undefined behavior[1].

For all relevant PHP versions, FALSE will also be returned, if
neither $_SERVER nor $argv exists or are not arrays.

[1] <https://www.php.net/manual/en/functions.internal.php>
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Fri Oct 22 10:03:33 2021 UTC