У меня возникают проблемы с получением значений массива вне функции и из другого файла. Внутри массива и функции у меня есть это, эти значения определены с добытчиками и сеттеровпустой массив вне функции и массив в порядке inisde
Array ([0] => XXXXXXXXXX [1] => 5ºA)
Эти значения определяются сеттеров, и они работают, так как у меня есть значения с print_r
public function getTurmaeProfessor(){
global $myArr;
$myArr[] = $this->getProfessor();
$myArr[] = $this->getTurma();
print_r($myArr);
return $myArr;
}
Теперь из другой файл я использую это
$dados = $esmaior->getTurmaeProfessor();
if(!$dados){
echo "sem dados";
}
print_r($dados);
И результат пуст, поэтому массив пуст ... почему ??
Благодаря
UPDATE Эта функция называется здесь
$this->setTurma($nome_turma);
$this->setProfessor(($nome_professor));
$this->getTurmaeProfessor();
Так что, если положить этот
public function getTurmaeProfessor(array $myArr)
Мне нужно, чтобы изменить способ вызова ... как сделай это??
UPDATE 2
Ok ... Позвольте мне все, может быть, лучше понять. Моя главная функция это один
public function novaAula($atividade, $turmas, $local, $dataAula, $inicio, $fim, $fundamentacao, $observacoes, $id_professor){
try{
$stmt = $this->db->prepare("INSERT INTO `aulas_exterior` (`atividade`,`id_turma`,`local`,`data_aula`,`inicio`,`fim`,`fundamentacao`,`observacoes`)
VALUES (:atividade,:id_turma,:local,:data_aula,:inicio,:fim,:fundamentacao,:observacoes);");
$stmt->bindparam(":atividade", $atividade);
$stmt->bindparam(":local", $local);
$stmt->bindparam(":data_aula", $dataAula);
$stmt->bindparam(":inicio", $inicio);
$stmt->bindparam(":fim", $fim);
$stmt->bindparam(":fundamentacao", $fundamentacao);
$stmt->bindparam(":observacoes", $observacoes);
$turma = explode(',', $turmas);
foreach ($turma as $id_turma) {
$stmt->bindParam(':id_turma', $id_turma, PDO::PARAM_INT);
$result = $stmt->execute();
$idAula = $this->db->lastInsertId();
$this->insertPedidoByLastId($idAula,$id_professor, $id_turma);
$nome_turma = $this->getTurmaById($id_turma);
$nome_professor = $this->getNomeById($id_professor);
$this->setTurma($nome_turma);
$this->setProfessor(($nome_professor));
$this->getTurmaeProfessor();
}
if (!$result) {
print_r($stmt->errorInfo());
return array('status' => 'error', 'message' => 'Problema ao gravar esta nova atividade...');
}
else{
return array('status' => 'success', 'message' => 'O pedido foi criado com sucesso...');
}
} catch (Exception $ex) {
echo $ex->getMessage();
}
}
и как вы можете видеть, я устанавливаю эти 2
$this->setTurma($nome_turma);
$this->setProfessor(($nome_professor));
и, наконец, я вызываю метод
$this->getTurmaeProfessor();
Ввод этой функции я хочу иметь названия из этих 2 сеттеров
public function getTurmaeProfessor(array $myArr){
$myArr[] = $this->getProfessor();
$myArr[] = $this->getTurma();
return $myArr;
}
До сих пор ... все работает .... Проблема в том, когда я пытаюсь получить возврат в другом файле ... я получаю empt ... why ??
Почему вы используете глобальный ___and___, возвращающий значение? –
Потому что мне нужно вернуть значения для заполнения. Pdf – gmc1972
Это не отвечает на вопрос ... почему вы используете __both__?Вы должны использовать аргумент для функции, а возврат, а не глобальное обновление проверки –