Ребята хелпаните плиз, я слаб...
Есть код который сохраняет выбранные продукты:
// сохраняем открытые продукты
foreach ($this->openProducts as $keyIdProj => $projProdOpen) {
foreach ($projProdOpen as $key => $value) {
for ($x = 0; $x < count(array($value)); $x++) {
if (!$value[$x]) {
continue;
}
$rec = new ProductsOpen();
$rec->id_user = $this->id;
$rec->id_product = $value[$x];
$rec->save();
if ($rec->errors) {
//var_dump($rec->errors);
exit();
}
$openProduct[] = $rec;
}
}
}
Так как проекта пока 3
var_dump($this->openProducts);
Выдает 3 массива
Именно в одном из я открыл 3 новых страницы с теми ID что там есть.
array (size=3)
1 =>
array (size=2)
'products' => string '' (length=0)
'packs' => string '' (length=0)
2 =>
array (size=2)
'products' =>
array (size=3)
0 => string '175' (length=3)
1 => string '176' (length=3)
2 => string '186' (length=3)
'packs' => string '' (length=0)
3 =>
array (size=2)
'products' => string '' (length=0)
'packs' => string '' (length=0)
Смотрим данные в цикле
foreach ($this->openProducts as $keyIdProj => $projProdOpen) {
var_dump($projProdOpen); exit;
Получается он берет первый и пустой
array (size=2)
'products' => string '' (length=0)
'packs' => string '' (length=0)
Логично что:
foreach ($projProdOpen as $key => $value) {
var_dump($value); exit;
Выдает:
:138:string '' (length=0)
И соответственно получаем ошибку php7 что count не будет считать пустоту , ей нужен массив.
for ($x = 0; $x < count($value); $x++) {
Даже не знаю как вернуть все в работу после обновы.
Как заставить его выбирать только заполненные массивы?
То есть может быть и так:
array (size=3)
1 =>
array (size=2)
'products' => string '' (length=0)
'packs' => string '' (length=0)
2 =>
array (size=2)
'products' =>
array (size=3)
0 => string '175' (length=3)
1 => string '176' (length=3)
2 => string '182' (length=3)
'packs' => string '' (length=0)
3 =>
array (size=2)
'products' =>
array (size=1)
0 => string '214' (length=3)
'packs' => string '' (length=0)
И так тоже:
array (size=3)
1 =>
array (size=2)
'products' =>
array (size=5)
0 => string '150' (length=3)
1 => string '166' (length=3)
2 => string '149' (length=3)
3 => string '169' (length=3)
4 => string '181' (length=3)
'packs' => string '' (length=0)
2 =>
array (size=2)
'products' =>
array (size=5)
0 => string '175' (length=3)
1 => string '176' (length=3)
2 => string '182' (length=3)
3 => string '183' (length=3)
4 => string '185' (length=3)
'packs' => string '' (length=0)
3 =>
array (size=2)
'products' =>
array (size=1)
0 => string '214' (length=3)
'packs' => string '' (length=0)
Также насколько я знаю даже если все решить то string count не будет считать надо преобразовать в int?
Прошу без камней, только разбираюсь и в голову стукнуло все обновить... 6 часов уже...с меня печеньки с кофе :)
Если что-то не понятно, дополню....