最有效的方式传递数据从php隐藏表单字段或json_encode

Most efficient way of passing data from php to hidden form field or json_encode

本文关键字:字段 表单 json encode 隐藏 php 有效 方式传 数据      更新时间:2023-09-26

所以我的特殊问题如下-我有一个PHP页面,它循环遍历坐标列表并在我的页面上显示它们。

除此之外,我还想把它们显示在地图上。

我想出了两种方法来做这件事,这两种方法都有效——我很好奇哪一种是最好的,为什么?

我的理解是,通过放置我的javascript在下面,我的javascript不执行,直到我的页面加载。正是由于这个原因,这两种方法都有效。

$(document).ready(function() 
{
});

第一个是隐藏表单字段。我可以通过我的经度和纬度,并获得他们在我的javascript文件使用jQuery。

第二种是直接使用

<script type='text/javascript'>
    var myarray = <?php echo JSON_encode($array); ?>;
</script>

在我的PHP脚本中,然后访问/循环通过它在我的Javascript文件中,以类似的方式,我循环通过它在我的PHP文件。

    for (var i=0, tot=myarray.length; i < tot; i++) 
{//plot points}

谢谢

我肯定会使用JavaScript数组。

原因:

(1)表单字段是发布到服务器,你不这样做。那么,当您不需要隐藏的输入元素时,为什么要向DOM添加它们呢?

(2)使用JavaScript数组中的值会更容易。迭代它们更容易,而且它们不必是字符串值。当您获得隐藏输入元素的值时,它是一个字符串。然后,如果它确实是其他类型,则必须将其解析为另一种类型。JavaScript值甚至可以是嵌套的对象。

我不会担心性能基准。不会有什么显著的差别。易于编码更重要。

考虑以下情况:如果您使用选项2(在服务器上循环),并且同时有200个请求,那么每个请求将在服务器中执行此循环。现在,当您对数组进行JSON编码并将其提供给客户端时,您就完成了在服务器中的操作,让不同的浏览器(客户端)处理其余的工作。现在,当您必须将相同数量的数据(200)序列化到json时,情况就变了。所以这是一个速度和性能的问题:哪个更快?哪一个执行更好的JSON_encodefor循环和写一切到服务器与echo() ?答案会根据对象的大小而变化。因此,无论如何,继续测试哪一个更快,对您的脚本进行一个简单的基准测试就足够了。