Rumah  >  Artikel  >  pembangunan bahagian belakang  >  为什么用$$定义成数组后,会报错Cannot use string offset as an array

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

WBOY
WBOYasal
2016-06-20 12:36:472383semak imbas

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



原来是这样,太谢谢了
已解决
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn