Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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 缺少:在细枝中的属性id之后_Php_Javascript_Symfony_Twig - Fatal编程技术网

Php 缺少:在细枝中的属性id之后

Php 缺少:在细枝中的属性id之后,php,javascript,symfony,twig,Php,Javascript,Symfony,Twig,我是Symfony2的一名新开发人员,所以我很难将从控制器获得的对象数组转换为一个数组,数组中包含JavaScript 问题是我有一个数组的数组: 这里有一个例子 $Flight = array ( '1' => array ( '5' => array (

我是Symfony2的一名新开发人员,所以我很难将从控制器获得的对象数组转换为一个数组,数组中包含JavaScript

问题是我有一个数组的数组:

这里有一个例子

 $Flight = array
                (
                '1' => array
                    (
                    '5' => array
                        (
                        'LFID' => '6684',
                        'DepartureDate' => '2012-10-22T12:30:00',
                        'ArrivalDate' => '2012-10-22T14:00:00',
                        'BaseFareAmtInclTax' => '343.50',
                        'ReturnFlightSegmentDetails' =>
                        
                    ),
                    '10' => array
                        (
                        'LFID' => '6684',
                        'DepartureDate' => '2012-10-23T12:30:00',
                        'ArrivalDate' => '2012-10-23T14:00:00',
                        'BaseFareAmtInclTax' => '243.50',
                        'ReturnFlightSegmentDetails' =>
                        array
                            (
                            '150' => array
                                (
                                'LFID' => '6647',
                                'DepartureDate' => '2012-10-24T12:25:00',
                                'FareTypeName' => 'Change',
                                'FareTypeID' => '22',
                                'BaseFareAmtInclTax' => '198',
                            )
                            
                        )
                    )
                ),
            );
在我的小树枝上:

{% for flight in flights%}
                   var $FlightSegment = new Array();
                  $flight.push({
                        DepartureDate:"{{flight.DepartureDate}}",
                        ArrivalDate:"{{flight.ArrivalDate}}",
                        Amount:"{{flight.BaseFareAmtInclTax}}",
                        {% for ReturnFlightSegmentDetails in flight.ReturnFlightSegmentDetails %}
                          $FlightSegment.push({
                                ReturnFlightSegmentDetails :"{{ReturnFlightSegmentDetails.DepartureDate}}",   
                           });
                        {% endfor %}
                        
                    });
                
                
                {% endfor %} 
但是行“$FlightSegment.push”生成一个错误

缺少:在属性id之后


在php中获取所需格式的数组,然后将其作为json进行回显可能会更容易:

{% autoescape false %}
    var jsflights = {{ phpflights|json_encode() }};
{% endautoescape %}
在上面的示例中,我假设一个变量$phpflights是一个php数组,其格式是您希望传递给视图的格式。 上面的代码在视图中,创建了一个与php数组具有相同结构的javascript数组


这样,您就不需要编写两次数组代码。

您的原始模板代码看起来像是包含PHP,这在twig模板中是不允许的


更一般地说,模板应该是用来表示数据的,并且可能对其进行最小程度的修改以帮助实现这一点。对于您正在执行的操作,您最好在PHP的控制器中执行此操作,然后将已准备好显示的结果传递给twig。

您编写的代码为每个航班重新声明“$FlightSegment”。然后它在为外部
.push()
调用构建的对象文本内部执行内部
.push()
调用。非常感谢您的回答,我很感激^^,所以要操作属性ReturnFlightSegmentDetails,我会像使用js数组一样吗?就这样?好的!它可以回送它,但是如果我想操作json_编码返回的字符串元素,如何解析它?!我看不清事情的真相:'(这将是一个javascript数组。像处理数组一样操作它。但是jsflights.length返回未定义:/I不会使用这种方法:/I知道我完全理解你所说的,但我是一个大项目的一部分,我的老板希望在客户端完成一些部分,所以我必须获取php数据并将其转换为js,这样我就可以我把它放在一个小树枝文件中哦,我知道你现在在做什么了。我没有仔细查看模板中的代码,所以没有意识到它是JS(在变量前面看到$,并假设为PHP)。