php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #78002 APCUIterator regexp array returns no results
Submitted: 2019-05-11 10:50 UTC Modified: 2019-05-11 14:26 UTC
From: ariartwt at gmail dot com Assigned:
Status: Open Package: Unknown/Other Function
PHP Version: 7.2.18 OS: Ubuntu 18.04.2
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: ariartwt at gmail dot com
New email:
PHP Version: OS:

 

 [2019-05-11 10:50 UTC] ariartwt at gmail dot com
Description:
------------
---
From manual page: https://php.net/apcuiterator.construct
---

Passing in an array of PCRE regular expressions to the constructor of APCUIterator as first argument never return any result.

Test script:
---------------
<?php 

apcu_add("Test","data");

echo (new APCUIterator("/^Test$/"))->getTotalCount();// 1
echo (new APCUIterator(["Test"]))->getTotalCount();// 1
echo (new APCUIterator(["/^Test$/"]))->getTotalCount();// 0 -> should be 1


Expected result:
----------------
In my understanding of the documentation, we should be able to pass as first argument an array filled with regexp to find matching entries in apcu's stored keys.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-05-11 14:08 UTC] cmb@php.net
From looking at the code, it appears that the array form expects
exactly matching strings, not regexps.
 [2019-05-11 14:26 UTC] ariartwt at gmail dot com
Thanks for your response.

If it's the intented behaviour, then it should be clarified in the doc, with an example, beacause the part about the array is pretty confusing to me for the $search argument description : "A PCRE regular expression that matches against APCu key names, either as a string for a single regular expression, or as an array of regular expressions."
 [2019-07-30 08:27 UTC] 511381703 at qq dot com
When I use new APCUIterator("/^prom:./")) init APCUIterator. I get an error 502, And my php version is 7.1.19 and APCU version is 5.1.17.
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sun Sep 22 04:01:25 2019 UTC