1

这是我仍在开发的膳食计划应用程序。到目前为止,我已经得到了很多有用的帮助。您可以在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";

当我单击本地主机上的提交按钮时,它显示数组到字符串转换的错误,因为它是一个多维数组。如何在不使用递归函数的情况下摆脱第一个空键?现在我已经将它上传到我的主机帐户,但它没有打印逗号分隔的列表,因为它是一个键为 null 的多维数组,所以我不再看到该错误。

4

3 回答 3

0

您发送到 php 脚本的数据是{data: selectedBoxes}并且您正在使用 post 方法。AndselectBoxes是一个数组,其中包含拖到右侧框中的内容。

要在 php 中获取数据,您只需要遍历datapost 变量:

foreach ($_POST['data'] as $key => $value)
{
  // get all meals that were dragged
}

另请注意,如果您拖动框中的其中一个东西,您将获得同一餐的多个版本。

于 2012-12-22T15:13:01.650 回答
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);
}
于 2012-12-22T15:03:01.377 回答
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

于 2012-12-22T15:04:13.773 回答