2

从以下数组:

area = Array
    (
        sur12 => 2
        abb12 => 5
        sur13 => 6
        abb13 => 4
        sur14 => 8
        abb14 => 4
        sur15 => 2
        abb15 => 5
        abb16 => 8
        abb17 => 5
        abb18 => 4
        abb19 => 2
        abb20 => 6
        abb21 => 9
        abb22 => 5
        abb23 => 9
        abb24 => 8
        sur_count15 => 4
        abb_count24 => 2
    )

area['sur_count15']如果我只知道前缀sur_count,或者area['abb_count24']我只知道前缀,我该如何访问abb_count

有没有办法在 PHP 中做到这一点,例如在 CSS 中,我可以访问一个abc_count以 using开头的 ID [id*="abc_count"]

前缀对于前 3 个字符是唯一的。

4

3 回答 3

1

我最终在How to get a subset of $_POST 数组中使用了其他问题的答案,其中的键以前缀开头。如果我能重组数组就好了,但现在不行。谢谢大家。

于 2012-07-18T06:23:12.560 回答
0

您上述问题的解决方案之一可能如下,但我强烈建议您寻找另一种解决方案,因为这个解决方案可能不是非常优化的解决方案:

for(int $i=0;$i<30;$i++)
{
  if(in_array('sur_count' . $i,$area))
  {
    //your code here
  }
  if(in_array('abb_count' . $i,$area))
  {
    //your code here
  }
}

也许这可以帮助你一点......

于 2012-07-18T06:05:35.613 回答
0

/sur_count[0-9]*/尝试获取 array_keys,然后使用 regexp或类似方法搜索匹配项。

有关详细信息,请参见此处: php 函数 array_key_exists 和正则表达式

于 2012-07-18T06:20:48.423 回答