从javascript两个数组到php变量和值
在js端,我有两个数组从javascript两个数组到php变量和值,javascript,php,jquery,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 创建一个对象,其关键帧是arra中
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
创建一个对象,其关键帧是
arra
中的值,而值来自arrb
。然后将其作为$.ajax()
中的数据
选项传递
或者更一般地说:
foreach ($_POST as $key => $value) {
echo "$key: $value<br>";
}
foreach($\u发布为$key=>$value){
回显“$key:$value
”;
}
如注释中所述,您可以使用AJAX将变量发布到您在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>
现在,您有多种方法来处理阵列,具体取决于您想对阵列执行的操作
一种方法是在数组中循环,并检索每个索引<例如,code>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方法将是相同的,除了使用$\u POST
检索数据之外,您必须使用$\u GET
。还要注意的是,GET
变量将在URL中可见,而POST
变量则不可见。到目前为止您尝试了什么?如果您想将js变量发送到后端,可以使用ajax或执行经典的POST和/或GET。@Eddie,当然,这应该通过ajax来完成,但是如何跨两个数组来获得var name/var value
对。没有区别。这一切都取决于您希望如何在以后使用/访问阵列。例如,一旦数组作为PHP变量被解析和检索,您就可以选择对数组执行explode()
,以获取单个索引,或者使用循环。我可能会建议一种更通用、更自动化的数组处理方法。根据具体情况,手动调用每个索引可能会有很大的问题。@Martin,foreach
是你的意思吗?@port可以使用任何能够在数组中运行的循环格式,是的,foreach()
是一种方法。这只是一个更好的解决方案,因为在数据越来越大的情况下,这将是一个更好的方法。现在,在简单的情况下,比如这里介绍的情况,调用每个单独的索引是很好的,但是从长远来看,了解更自动化的过程将更有利于OP。
<?php
$arra = $_POST['arra'];
$arrb = $_POST['arrb'];
?>
<?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'];
?>