带破折号的数组键PHP5

带破折号的数组键PHP5,php,arrays,foreach,key,getopt,Php,Arrays,Foreach,Key,Getopt,在PHP5代码中,我需要访问名称中有破折号的数组键(case-ins)。有办法吗 我的代码如下所示: $count = 0; foreach($par as $key){ foreach($key as $case-ins) $count = $count+1; .... } 基本上我需要得到数组大小。我知道我可能可以使用count函数,但现在我处理的最大问题是破折号。我在互联网上发现了类似${case ins}的东西。但它不起作用。我

在PHP5代码中,我需要访问名称中有破折号的数组键(case-ins)。有办法吗

我的代码如下所示:

 $count = 0;
 foreach($par as $key){
      foreach($key as $case-ins)
           $count = $count+1;
      ....   
 }
基本上我需要得到数组大小。我知道我可能可以使用count函数,但现在我处理的最大问题是破折号。我在互联网上发现了类似${case ins}的东西。但它不起作用。我无法更改数组键的名称,因为它实际上是我使用getopt从命令行获得的参数

你能帮我做这个吗?或者有没有其他方法来计算同一个论点被使用了多少次

谢谢你的回答:)

更多信息:在一些严格的PHP系统中,您最好使用
#(.+)?-(.+)?#
而不是
#-#

您可以使用正常变量,而不是PHP中的破折号,而不是
${'case-ins'}
。这只是变量名,而不是键本身。事实上,它甚至不是关键,而是价值。(
foreach($arr as$key=>$value)
)除此之外:
$a=array('foo-bar'=>'b');echo$a['foo-bar']将输出
b
。我想你把自己弄糊涂了。
$case-ins
是变量名。当然,我可能理解错了course@Anant我不能使用count($par),因为我需要获取此数组中的数组大小。。。例如,我有一个数组$par,里面填充了数组$I或$case-ins。。。等等如果你说的是显而易见的话,我很抱歉,但我是php新手,不太懂。@Hello\u World我的意思是你不能有一个名为
$case ins
的变量,它会抛出
语法错误,意外的'-'
$a-b
至少意味着您希望从
a
中减去
b
。当您键入一个
foreach
时,您定义变量名,它与键或值无关。看见你说过:如果我使用=>$value,$value的类型必须是字符串或整数。如果您指的是foreach,那么no.
$value
可以是任何内容。甚至是一个物体。请看这个多级阵列示例:
$par = array(
            array(
                '0'=> 'dark-blue',
                '1'=> 'yellow',
                '2'=> 'high-color'
                ),
            );

$count = 0;
foreach ($par as $key ) {   
    foreach ($key as ${'case-ins'} ) {
        if (preg_match('#-#', ${'case-ins'} )==true) {
            $count = $count+1;
        }       
    }
}
echo $count; // count is 2 ..