从javascript两个数组到php变量和值

时间:2018-09-18 07:33:11

标签: javascript php jquery

在js方面,我有两个数组

arra = ['what', 'when', 'why'];

arrb = ['sea', 'tomorrow', 'because of sun'];

实际上,数组要长得多。

在php端获取此消息的最短(jquery)方法是什么

echo $what; // result: sea

echo $when;  // result: tomorrow

echo $why;  //  result: because of sun

2 个答案:

答案 0 :(得分:0)

创建一个对象,其键是来自arra的值和来自arrb的值。然后将其作为data中的$.ajax()选项传递。

var dataObj = {};
for (var i = 0; i < arra.length; i++) {
    dataObj[arra[i]] = arrb[i];
}
$.ajax({
    url: "yourscript.php",
    type: "POST",
    data: dataObj
});

然后在PHP中,它们将位于$_POST数组中。

$what = $_POST['what'];
$when = $_POST['when'];
$why = $_POST['why'];

或更笼统地说:

foreach ($_POST as $key => $value) {
    echo "$key: $value<br>";
}

答案 1 :(得分:0)

如评论中所述,您可以使用AJAX将变量POST移至在AJAX函数的URL声明中定义的给定页面。

AJAX功能示例:

<script>
arra = ['what', 'when', 'why'];
arrb = ['sea', 'tomorrow', 'because of sun'];

$.ajax({
    type : "POST",
    url : "your_file.php",
    data : {
            arra : arra
            arrab : arrab
    },
    success: function (html) {
        //Success handling
        //do something on success
    }
})
</script>

在执行此AJAX代码后(如何称呼取决于您),您会将数组解析为POST变量,现在可以通过PHP处理该变量。

<?php
$arra = $_POST['arra'];
$arrb = $_POST['arrb'];
?>

您现在有多种处理数组的方法,具体取决于您要对它们执行的操作。

一种方法是遍历数组,并检索每个索引。以foreach()for()while()为例。

<?php
foreach ($arra as $key => $value) {
    echo 'value: '.$value.'<br>';
}
?>

<?php
foreach ($arrb as $key => $value) {
    echo 'value: '.$value.'<br>';
}
?>

在少数情况下,例如您要面对的那个,通常也可以分别访问每个数组索引。

<?php
$what = $arra['what'];
$when = $arra['when'];
$why = $arra['why'];

$sea = $arrb['sea'];
$tomorrow = $arrb['tomorrow'];
$because_of_sun = $arrb['because of sun'];
?>

但是,由于您宁愿使用更多的自动化解决方案,因此我认为这是一般的坏习惯,因为这是处理大数据的首选方法。

解析数据的另一种方法是通过GET方法。 PHP的方法是相同的,除了必须使用$_POST来代替使用$_GET来检索数据。另外请注意,GET变量将在URL中可见,而POST变量将不会显示。