java - 在foreach中传递3个数组

标签 java php android arrays

在java代码中我有这个

ArrayList<NameValuePair> al = new ArrayList<NameValuePair>();

for (int i = 0; i < alitems.size(); i++) {

    al.add(new BasicNameValuePair("items[]", alitems.get(i)));
    al.add(new BasicNameValuePair("qty[]", alnoof.get(i)));
    al.add(new BasicNameValuePair("price[]", alprice.get(i)));
}

注意:这里的 alitems、alnoof、alprice 都是 ArrayList

php代码

foreach (array_combine($_POST['items'], $_POST['qty']) as $val => $no) {

   $v = mysql_real_escape_string($val);
   $va = mysql_real_escape_string($no);
}

现在我可以获得 $v 和 $va 的 2 个数组值,但无法获取价格数组列表。怎么做?

suppose $_POST['items']={pencil,pen,watch}
        $_POST['qty']={2,3,4}
        $_POST['price']={20,30,40}

我需要在数据库中插入值:

pencil,2,20   pen,3,30   watch,4,40

请帮助我了解如何实现这一目标。

最佳答案

PHP 也有 for 循环

$_POST['items'] = ["pencil","pen","watch"];
$_POST['qty'] = [2,3,4];
$_POST['price'] = [20,30,40];

for($i = 0; $i < count($_POST['items']); $i ++) {
    echo $_POST['items'][$i], " ", $_POST['qty'][$i], " ", $_POST['price'][$i], PHP_EOL;
}

或者

foreach ( array_map(null, $_POST['items'], $_POST['qty'], $_POST['price']) as $var ) {
    list($item, $qty, $price) = $var;
    echo $item, " ", $qty, " ", $price, PHP_EOL;
}

请注意,[] 仅在 PHP >= 5.4 中受支持,其他情况下您必须使用 array()

关于java - 在foreach中传递3个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13449051/

相关文章:

php - undefined offset 0,但仍然给我正确的结果

java - 查找 BufferedImage 中红色的平均值 (Java)

java - log4j v2 格式化功能

java - 在 Scriptlet 中访问 JSTL 变量

java - 在java中使用线程对数组 block 进行排序

php - 在 ajax 调用期间创建 session (php-xajax)

php - Laravel Dusk(Windows 平台不支持 TTY 模式)

android - 与本地 android 和 html5 共享数据库(sqlite 错误没有这样的表)

java - 如何保存用户上次阅读的页码

android - 如何禁用最近的任务/应用程序按钮