PHP从复选框数组中获取值

PHP从复选框数组中获取值,php,arrays,explode,implode,Php,Arrays,Explode,Implode,我试图找出如何从复选框数组中获取值。复选框数组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) . . . foreach

我试图找出如何从复选框数组中获取值。复选框数组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)
. . .
foreach ($this->combinedIds as $key => $value) {
    $firstId = $value[0];
    $secondId = $value[1]

    // do something with the values ...
}
我在每个数组值中发送两个不同的ID,由管道分隔,并希望将每个部分分配给不同的变量,$variable1,$variable2,以便在数据库查询中使用它们。我该怎么做

谢谢你的帮助

编辑:尽管我已经接受了下面的答案,但以下是我想要的完整答案:

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

foreach ($input as $key => $value) {
    $this->combinedIds[] = explode('|', $value);
}
然后,为了将值放入单独的变量中,我执行了以下操作:

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)
. . .
foreach ($this->combinedIds as $key => $value) {
    $firstId = $value[0];
    $secondId = $value[1]

    // do something with the values ...
}

在数组上使用foreach循环,并使用管道符号分解每个值。大概是这样的:

foreach ($arr as $val) 
{
    $newData = explode("|", $val);
}
另一种变体(使用匿名函数)类似于:

$values=array_映射(函数($input){$tmp=explode(“|”),$input;返回[“id1”=>current($tmp),“id2”=>end($tmp)];},$array)


这是为PHP5.4+编写的。如果您需要一个与PHP5.3及以下版本兼容的版本,只需将括号替换为相应的
数组(…)
等价物。

考虑到您在这个问题上添加了
explode
标记,我猜您至少对如何处理这个问题有一些想法。你能展示一下到目前为止你做了什么,并明确指出你在哪里遇到了问题吗?不,这一点都没有帮助。谢谢。这很有趣——我希望我能理解它。我可以在类中的函数中使用匿名函数吗?就我对匿名函数的理解而言,是的,但这取决于你想在哪里使用它。我使用它作为
array\u map()
函数的参数,但您可以在其他地方定义它。您可以像执行
$a=function($input){return$input+6;}
这样的操作,然后像执行
$c=$a(5)
那样执行它,得到
11
,结果是:谢谢!这是我最初做的,但不知道如何获取值。太好了……干杯,快乐编码:)