如何访问一个数组元素,其键以PHP中的一些唯一字符串开头?

时间:2012-07-18 05:53:09

标签: arrays key prefix

来自以下数组:

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

访问以[id*="abc_count"]开头的ID

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

3 个答案:

答案 0 :(得分:1)

我最后在How to get a subset of $_POST array with keys starting with a prefix使用了我的另一个问题的答案。如果我只能重组阵列,那现在就不行了。谢谢,你们。

答案 1 :(得分: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
  }
}

这可能会对你有所帮助.....

答案 2 :(得分:0)

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

请点击此处了解更多详情: php function array_key_exists and regular expressions