Holas!
Creo que si estás creando los campos (check y text) al mismo tiempo, en teoría tienen ambos los mismos índices, no? Si es así, haciendo un foreach sea al array de check o text, te servirá para entrar en el que no sea el elegido para el foreach. Eso sí, debes agregar una variable numérica dentro del foreach para accesar al elemento del otro array. Aunque todo eso se solucionaría si trabajas con el clásico for no más ^^...
Código PHP:
# este es el modulo que recibe los datos
$checks = $_POST["check"];
$marcas = $_POST["marca"];
# modo 1
$i = 0;
foreach ($checks as $micheck)
{
if ($micheck)
{
$mimarca = $marcas[$i];
// haces lo que tienes que hacer con la marca
}
$i++;
}
# modo 2
for ($i = 0; $i < count($checks); $i++)
{
if ($checks[$i])
{
$mimarca = $marcas[$i];
// haces lo que tienes que hacer con la marca
}
}