在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
答案 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
变量将不会显示。