我想弄清楚如何从复选框数组中获取值。复选框数组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 ...
}
答案 0 :(得分:0)
在数组上使用foreach循环并使用管道符号分解每个值。像这样:
foreach ($arr as $val)
{
$newData = explode("|", $val);
}
答案 1 :(得分:0)
另一种变体(使用匿名函数)类似于:
$values = array_map(function ($input) { $tmp = explode("|", $input); return ["id1" => current($tmp), "id2" => end($tmp)]; }, $array);
。
这是为PHP 5.4+编写的。如果您需要与PHP 5.3及更低版本兼容的版本,只需将括号替换为相应的array(...)
等效项。