在参数列表之后丢失)就在我调用一个函数时

I have a weird behavior, when I have call this function $blockProduct in my js part, I will have this error missing ) after argument list but when I change that function with another $blockService, I don't have the error anymore !

php:

$blockService= $blockObject->getPaymentmethodOptionArray();

return:

array(5) {
  [0] => array(2) {
    ["value"] => string(1) "1"
    ["label"] => string(2) "CB"
  }
  [1] => array(2) {
    ["value"] => string(1) "3"
    ["label"] => string(4) "Visa"
  }
}

 

$blockProduct = $blockObject->getProductOptionArray();

return:

array(3) {
  [0] => array(2) {
    ["value"] => string(1) "1"
    ["label"] => string(14) "Bidon d'huile"
  }
}

I think the problem comes from é ?

JS:

jQuery(InputsWrapper3).append(
                    '<div class="added">' +
                        '<select id="produit_option_'+ FieldCount +'"'+ 'class="select" name="produit_option[]">'+
                        '<?php foreach($blockProduct as $prod):?>'+ /*$blockProduit*/
                            '<option value="<?php echo $prod['value']; ?>" selected><?php echo $prod['label']; ?></option>'+
                        '<?php endforeach; ?>'+
                        '</select>' +
                        '<input type="text" name="produit_input[]" id="produit_field_'+ FieldCount3 +'"/>' +
                        ' <a href="#" class="removeclass">'+deleteIcon+'</a>' +
                    '</div>'
                );

use php escape character method e.g in you case htmlspecialchars($prod['value'], ENT_QUOTES, 'UTF-8');