在类内部调用函数时发生错误。
错误消息:
Parse error: syntax error, unexpected '$arquivo' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST) in C:\xampp\htdocs\sequencial\function_sintegra.php on line 20
我在这里提供我的代码:
<?php
function explode_txt(){
$arquivo = $_SESSION['nomeArquivo'];
$conteudo = file_get_contents($arquivo);
$linhas = explode("\n", $conteudo);
}
class Sintegra{
private $emissor;
private $cnpj;
private $inscricao;
private $municipio;
private $estado;
private $dataInicial;
private $dataFinal;
$arquivo = explode_txt(); //Arquivo Sintegra em array nesta variavel, por linhas.
$emissor = (string)substr($arquivo[0], 30, 35);
$inscricao = (string)substr($arquivo[0], 16, 14);
$cnpj = (string)substr($arquivo[0], 2, 14);
}
?>
我使用该功能有什么问题吗? 我尝试浏览,但是找不到任何解决方案。 谢谢您的帮助。
答案 0 :(得分:0)
您需要在类方法中调用外部函数。
您可以这样:
class Sintegra{
private $emissor;
private $cnpj;
private $inscricao;
private $municipio;
private $estado;
private $dataInicial;
private $dataFinal;
public function __construct() {
$arquivo = explode_txt();
$this->emissor = (string)substr($arquivo[0], 30, 35);
$this->inscricao = (string)substr($arquivo[0], 16, 14);
$this->cnpj = (string)substr($arquivo[0], 2, 14);
}
}
更新 这是最好的方法。