Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何删除symfony中未定义的变量名?_Php_Symfony - Fatal编程技术网

Php 如何删除symfony中未定义的变量名?

Php 如何删除symfony中未定义的变量名?,php,symfony,Php,Symfony,我在symfony中创建了一个表单,在controller中我得到了post值,但当我得到值时,如果变量不存在,它会显示未定义的变量,这是我的控制器: for($i=1; $i<=$itemscounter; $i++){ if($i==1){ $items = $_POST['items']; $description=$_POST['descrip

我在symfony中创建了一个表单,在controller中我得到了post值,但当我得到值时,如果变量不存在,它会显示未定义的变量,这是我的控制器:

 for($i=1; $i<=$itemscounter; $i++){

                    if($i==1){
                        $items = $_POST['items'];
                        $description=$_POST['description'];
                        $unitprice=$_POST['unitprice'];
                        $quantity=$_POST['quantity'];
                        $linetotal=$_POST['linetotal']; 


                    }else {
                        $items = $_POST['items'.$i];
                        $description=$_POST['description'.$i];
                        $unitprice=$_POST['unitprice'.$i];
                        $quantity=$_POST['quantity'.$i];
                        $linetotal=$_POST['linetotal'.$i];                      
                    }

                    $entity->setInvoiceid($invoiceid);
                    $entity->setInvoiceitemsid($items);
                    $entity->setDescription($description);
                    $entity->setUnitPrice($unitprice);
                    $entity->setQuantity($quantity);
                    $entity->setlinetotal($linetotal);
                    $em->persist($entity);                        
                    $em->flush();
                    $em->clear();

                }
            }else{

                    $items = $_POST['items'];
                    $description=$_POST['description'];
                    $unitprice=$_POST['unitprice'];
                    $quantity=$_POST['quantity'];
                    $linetotal=$_POST['linetotal']; 
                    $entity->setInvoiceid($invoiceid);
                    $entity->setInvoiceitemsid($items);
                    $entity->setDescription($description);
                    $entity->setUnitPrice($unitprice);
                    $entity->setQuantity($quantity);
                    $entity->setlinetotal($linetotal);
                    $em->persist($entity);                        
                    $em->flush();
                    $em->clear();
                } 
for($i=1;$isetInvoiceid($invoiceid);
$entity->setInvoiceitemsid($items);
$entity->setDescription($description);
$entity->setUnitPrice($unitprice);
$entity->setQuantity($quantity);
$entity->setlinetotal($linetotal);
$em->persist($entity);
$em->flush();
$em->clear();
}
}否则{
$items=$_POST['items'];
$description=$_POST['description'];
$unitprice=$_POST['unitprice'];
$quantity=$_POST['quantity'];
$linetotal=$_POST['linetotal'];
$entity->setInvoiceid($invoiceid);
$entity->setInvoiceitemsid($items);
$entity->setDescription($description);
$entity->setUnitPrice($unitprice);
$entity->setQuantity($quantity);
$entity->setlinetotal($linetotal);
$em->persist($entity);
$em->flush();
$em->clear();
} 

但当控制器获取值items2、description2、unitprice2、quantity2、linetotal2时不存在如何删除此错误?当控制器获取值时,如果items2未发布,则它在items中不存储任何值,则我的ItemsCenter值为6。

您应该像php一样使用基本php。 但我想这更多的是你的代码逻辑的问题。你应该使用像items[description]这样的html名称,这很容易使用

我清理了一点你的代码。你不应该使用复制意大利面

for($i=1; $i<=$itemscounter; $i++){

    if($i==1){
        $suffix= '';
    }else{
        $suffix = $i;
    }

    if( isset($_POST['items'.$suffix])
        && isset($_POST['description'.$suffix]) 
        ......) {

        $items = $_POST['items'.$suffix];
        $description=$_POST['description'.$suffix];
        $unitprice=$_POST['unitprice'.$suffix];
        $quantity=$_POST['quantity'.$suffix];
        $linetotal=$_POST['linetotal'.$suffix];                      


        $entity->setInvoiceid($invoiceid);
        $entity->setInvoiceitemsid($items);
        $entity->setDescription($description);
        $entity->setUnitPrice($unitprice);
        $entity->setQuantity($quantity);
        $entity->setlinetotal($linetotal);
        $em->persist($entity);                        
        $em->flush();
        $em->clear();

} 
for($i=1;$isetInvoiceid($invoiceid);
$entity->setInvoiceitemsid($items);
$entity->setDescription($description);
$entity->setUnitPrice($unitprice);
$entity->setQuantity($quantity);
$entity->setlinetotal($linetotal);
$em->persist($entity);
$em->flush();
$em->clear();
} 

您使用的是
$form->handleRequest($request)
吗?不,我不使用$form->handleRequest($request),它可以为您完成大部分工作。我建议您查看一下。