来自以下数组:
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个字符是唯一的。
答案 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