Heim  >  Artikel  >  Backend-Entwicklung  >  为什么用$$定义成数组后,会报错Cannot use string offset as an array

为什么用$$定义成数组后,会报错Cannot use string offset as an array

WBOY
WBOYOriginal
2016-06-20 12:36:472383Durchsuche

分别有数组$tongji1,$tongji2,$tongji3,$tongji4,$tongji5,$tongji6,$tongji7,$tongji8
结构类似为
$tongji1=Array
(
    [kc1] => Array
        (
            [zong] =>2
            [rs] =>3
        )
  [kc2] => Array
        (
            [zong] =>4
            [rs] =>5
        )
)
$tongji2=Array
(
    [kc1] => Array
        (
            [zong] =>4
            [rs] =>5
        )
  [kc3] => Array
        (
            [zong] =>1
            [rs] =>2
        )
)
……
数组里包含的简明现在想把几个数组中拥有同一kc*的给合并起来,用以下代码
$tongjiz=$tongji1;
for ($x=2; $x $z="tongji".$x;
foreach($$z as $k=>$v){
if(array_key_exists($k,$tongjiz)){
$tongjiz[$k][zong]=$tongjiz[$k][zong]+$$z[$k][zong];
}else{
$tongjiz[$k]=$$z[$k];
}
}
}

现在到$tongjiz[$k][zong]=$tongjiz[$k][zong]+$$z[$k][zong];就出错
发现是因为$$z[$k][zong]这个问题,认为不是一个数组
但我单独print_r($$z)的时候能输出数组的
用print_r($$z[$k])就开始不行了

请问这是为什么啊 应该怎么解决 谢谢


回复讨论(解决方案)

$$z[$k]['zong']
要写作
${$z}[$k]['zong']

$$z[$k]['zong']
要写作
${$z}[$k]['zong']



原来是这样,太谢谢了
已解决
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn