Rafaelgja 0 Denunciar post Postado Julho 20, 2012 olá, gostaria de pedir um auxilo para vocês, estou tendo problema com meu site, está dando um erro array Warning: Cannot use a scalar value as an array in /includes/class.smarttemplate.php on line 306 $ref_obj[$blocks[$blockcount]][] = $value; } else { $this->data[$name][sizeof($this->data[$name])] = $value; <-- linha 306 } } agradeço desde já. att Rafael Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 20, 2012 o erro diz o problema: você está tentando acessar como array um valor escalar (provavelmente um valor numérico) reveja as variáveis e os valores que elas estão recebendo Compartilhar este post Link para o post Compartilhar em outros sites
Rafaelgja 0 Denunciar post Postado Julho 20, 2012 o erro diz o problema: você está tentando acessar como array um valor escalar (provavelmente um valor numérico) reveja as variáveis e os valores que elas estão recebendo mais esse erro so está dando quando acessa a "area account", estou começando agora na programação, tentei identificar o erro sem exito. mesmo assim Obrigado pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 20, 2012 mais esse erro so está dando quando acessa a "area account" provavelmente alguma variável está recebendo um valor errado. só depurando pra saber veja a função var_dump(): http://www.php.net/var_dump use-a para ver o valor de cada variável dessa linha. assim você identifica o problema var_dump( $variavel ); Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Julho 20, 2012 Olha, apenas por esse fragmento de código não justifica tal erro. Veja, nessa linha existe uma variável e um retorno de função atuando como índices da propriedade $data. Uma pseudo-classe como essa: class foo { public $data; public function __construct($name,$value) { $this->data[$name][sizeof($this->data[$name])] = $value; } } $foo = new foo('Bruno', 10); var_dump( $foo -> data ); Roda tranquilamente, isto é, não reproduz o erro demonstrado, que significa que você está usando uma variável scalar (veja quais são) como array. Sendo assim, por dedução, o que está ocorrendo é que na definição da propriedade, você força o valor inicial da mesma como sendo um desses tipos, por exemplo: public $data = 1; Assim eu consigo receber o mesmo erro. Quando se trabalhando com Orientação a Objetos é importante tentar definir o tipo de uma propriedade, mesmo que o PHP não seja uma linguagem fortemente tipada. Mudando a declaração acima para o mesmo do primeiro CODE ou: public $data = array(); Já resolve o problema. Se a propriedade vai armazenar um array, defina-o como array. Se você não tem certeza, ou pode haver alguma conversão, omita o tipo. Compartilhar este post Link para o post Compartilhar em outros sites
Rafaelgja 0 Denunciar post Postado Julho 20, 2012 opa, consegui resolver, obrigado pela atenção de todos vocês.... Compartilhar este post Link para o post Compartilhar em outros sites