如何使用setter和getter在PHP的数组

问题描述 投票:-1回答:1

时遇到使用具有在PHP getter和设定器阵列一个问题。如果不是一个数组我的班级工作正常。我IDEIA是从HTML表单中插入多个电话号码。用户ID是插入,但手机自带空。任何帮助将apreciated。先感谢您。

HTML:

<input type="text" id="form-field-1-1" placeholder="Text Field" name="telefone[]" class="col-xs-10 col-sm-5" />

<input type="text" id="form-field-1-1" placeholder="Text Field" name="telefone[]" class="col-xs-10 col-sm-5" />     

-------------- PHP类----------

class Telefone {
    private $telefone = array();
    public function getTelefone() {
        return $this->telefone;
    }
    public function setTelefone($telefone) {
        $this->telefone[] = $telefone;
    }
}

-------控制器实现---------

$inserirDados = new AgendaEventoDAO();

$tlfn = new Telefone();

$tlfn->setTelefone($_POST['telefone'] ? trim($_POST['telefone']) : '');

if($inserirDados->inserirTelefone($tlfn,$usuario)){

    print "Telefone do Agendamento Inserido com sucesso!";

}

--------DAO-----------------------------

public function inserirTelefone(Telefone $tlfn, SiteUserInfo $usuario) {

    $connection = new cnx();
    $connection->connect();
    $telefon = $tlfn->getTelefone();
    $ce_usuario = $usuario->getUser_id();


    foreach ($telefon as $telefone) {
        $stmt = $connection->myconn->prepare("INSERT INTO tbltelefone_agenda (telefone_agenda,ce_agenda_evento) VALUES (?,?)");            
        $stmt->bind_param("ii", $telefone,$ce_usuario);
        $stmt->execute();
        $stmt->close();
        $connection->close();
        echo("<script>console.log('PHP: Telefone inserido com sucesso!');</script>");
        return $stmt;

    }

}
php oop
1个回答
0
投票

$_POST['telefone']是一个数组,所以你需要循环它调用setter方法。

foreach ($_POST['telefone'] as $tel) {
    if ($tel) {
        $tlfn->setTelefone(trim($tel));
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.