将javascript数组传递给同一PHP文件上的php变量

时间:2013-01-31 19:18:45

标签: php javascript jquery ajax

我有这个PHP文件,其中我需要这个javascript变量(在同一个文件中)来传递我的PHP变量,就像这样。

myfile.php包含:

    var testing  = ["EWMLMc3ES3I", "RSdKmX2BH7o", "SIXwlxhjaKY", "acp8TbBPVos", "6GpKR4-TLoI", "XLKLkTnKRwg", "6WPELkw5kD0"];

我希望像这样做

 testing = <?php $new_testing ?>

我需要一个建议可能是一个jquery片段,但有一些像我的场景,这是一个PHP文件中的JavaScript。


编辑:附加信息,原因是,因为还有另一个javascript代码(不是在同一个文件上,而是通过外部JS包含它)需要特定的PHP变量。 所以说这是逻辑:

  1. javascript_variable ---&gt; php_variable(将javascript变量传递给php)然后,
  2. php_variable - &gt; another_javascript_variable(将php传递给另一个javascript文件)
  3. 另外_javascript_variable将由该外部javascript文件执行

4 个答案:

答案 0 :(得分:1)

只有一种方式可以实现“页面加载事件”。换句话说,JavaScript(客户端代码)总是在PHP(服务器端代码)之后呈现。

解决这个问题的方法是使用AJAX POST onload,客户端已完成渲染并将响应返回给服务器。 (你的阵列)

答案 1 :(得分:0)

从我理解你的问题的方式来看,我相信你正在寻找的是php函数json_encode

然后,你基本上可以做你正在尝试的事情。

<?php $new_testing = array('one', 'two', 'three', 'four'); ?>

<script>
    var testing = <?php echo json_encode($new_testing); ?>;
</script>

如果您问“我的JavaScript如何将变量传递给我的PHP”,答案是AJAX - 您必须提出全新的请求。

答案 2 :(得分:0)

在PHP方面,使用json_encode()将您的php数组转换为合适的格式,以将其传递给javascript。

PHP:

$var = array( 'lorem', 'ipsum', 'dolor');
$json_var = json_encode($var);
$parameter = array( 'js_var' => $json_var );
wp_enqueue_script('my_script');
wp_localize_script('my_script', 'object_name', $parameter); 

Javscript:

<script>
my_var = jQuery.parseJSON(object_name.js_var);
alert(my_var); 
</script>

答案 3 :(得分:-1)

<?php
$testing  = ["EWMLMc3ES3I", "RSdKmX2BH7o", "SIXwlxhjaKY", "acp8TbBPVos", "6GpKR4-TLoI", "XLKLkTnKRwg", "6WPELkw5kD0"];

echo 'var testing = ['.$testing[0].', '.$testing[1].' ]';

?>

使用php回复js代码。