【发布时间】:2012-09-18 17:54:26
【问题描述】:
我有一个看起来像这样的数组:
Array ( [2.5] => ABDE [4.8] => Some other value )
如何找到键与模式匹配的任何键/值对?我会知道密钥中第一个数字的值,但不知道第二个数字。例如,使用前缀“2.”,我希望能够以某种方式找到键“2.5”并返回键和值“ABDE”。
我正在考虑使用具有如下模式的正则表达式:
$prefix = 2;
$pattern = '/'.$prefix.'\.\d/i';
然后循环遍历数组并检查每个键。 (顺便说一下,仅出于演示目的,$prefix 已被硬编码为 2,但在实际系统中,这是用户输入提供的值)。
我想知道是否有更简单的方法可以做到这一点?
谢谢。
【问题讨论】:
-
如果前缀依赖于用户输入,它可以是任何东西,对吧?
-
用户可以输入 a.a、a.* 还是限制为 2.*、3.*、*.5(数字)?如果它们仅限于数字,它们是否仅限于第十位?最后,键 ([2.5]) 是像它们看起来那样的双打还是字符串?
标签: php