0

我试图弄清楚如何从复选框数组中获取值。复选框数组 var_dump 如下所示:

array (size=50)
0 => string '104702|0' (length=8)
1 => string '52278|1' (length=7)
2 => string '69891|1' (length=7)
3 => string '153335|1' (length=8)
4 => string '131140|1' (length=8)
. . .

我在每个数组值中发送两个不同的 ID,由管道分隔,并希望将每个部分分配给不同的变量 $variable1、$variable2,以便我可以在数据库查询中使用它们。我怎样才能做到这一点?

谢谢你的帮助。

编辑:即使我已经接受了下面的答案,这里是我正在寻找的完整答案:

为了从上面的数组中获取值以便我可以在我的数据库查询中使用它们,我做了以下操作来首先将它们分开:

foreach ($input as $key => $value) {
    $this->combinedIds[] = explode('|', $value);
}

然后,为了将这些值放入单独的变量中,我执行了以下操作:

foreach ($this->combinedIds as $key => $value) {
    $firstId = $value[0];
    $secondId = $value[1]

    // do something with the values ...
}
4

2 回答 2

0

在数组上使用 foreach 循环并用管道符号分解每个值。像这样的东西:

foreach ($arr as $val) 
{
    $newData = explode("|", $val);
}
于 2013-04-09T16:55:13.977 回答
0

不同的变体(使用匿名函数)将类似于:

$values = array_map(function ($input) { $tmp = explode("|", $input); return ["id1" => current($tmp), "id2" => end($tmp)]; }, $array);.

这是为 PHP 5.4+ 编写的。如果您需要与 PHP 5.3 及以下兼容的版本,只需将括号替换为相应的array(...)等效版本。

于 2013-04-09T17:02:51.797 回答