这是我正在研究的膳食计划应用程序。到目前为止,我已经获得了很多有用的帮助。您可以在http://maureenmoore.com/momp_tests/122212.html
看到查看来源我在我的process.php中使用以下内容(jquery表单被提交到了)
$stack = array();
foreach ($_REQUEST as $key => $value)
{
array_push($stack,$value);
}
$stack = array_values($stack);
print_r($stack);
$comma_separated = implode(",", $stack);
echo "\n\n" . $comma_separated . "\n\n";
当我单击localhost上的提交按钮时,它显示数组到字符串转换的错误,因为它是一个多维数组。如何在不诉诸递归函数的情况下摆脱第一个空键?我现在已经将它上传到我的主机帐户但我没有看到错误,但是它不打印以逗号分隔的列表,因为它是一个带有null键的多维数组。
答案 0 :(得分:0)
抱歉,我感到很困惑,如果我明白了,请告诉我。 您收到错误,因为它是一个多维数组。
试试这个
foreach ($_REQUEST as $tempArray) {
foreach ($tempArray as $key => $value) {
array_push($stack,$value);
}
}
或
$tempArray = $_REQUEST;
foreach ($tempArray[0] as $key => $value) {
array_push($stack,$value);
}
答案 1 :(得分:0)
您可以使用array_filter()删除空值
$new_array_without_nulls = array_filter($array_with_nulls, 'strlen');
并将array_reduce()转换为逗号分隔而不是implode http://php.net/manual/en/function.array-reduce.php
答案 2 :(得分:0)
您发送到php脚本的数据是{data: selectedBoxes}
,并且您正在使用post方法。 selectBoxes
是一个数组,其中包含拖动到右侧框中的内容。
要在php中获取数据,只需迭代data
post变量:
foreach ($_POST['data'] as $key => $value)
{
// get all meals that were dragged
}
另请注意,如果你拖动框中的其中一个东西,你会得到同一餐的多个版本。