>  기사  >  백엔드 개발  >  为什么用$$定义成数组后,会报错Cannot use string offset as an array

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

WBOY
WBOY원래의
2016-06-20 12:36:472383검색

分别有数组$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']



原来是这样,太谢谢了
已解决
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.