Как обработать большой массив php?

161
03 марта 2018, 21:10

У меня есть 9 цифр 3...11. В сети нашел функцию которая генерирует все возможные перестановки в этом ряду

function pc_permute($items, $perms = array( )) {
if (empty($items)) {
    $return = array($perms);
}  else {
    $return = array();
    for ($i = count($items) - 1; $i >= 0; --$i) {
         $newitems = $items;
         $newperms = $perms;
     list($foo) = array_splice($newitems, $i, 1);
         array_unshift($newperms, $foo);
         $return = array_merge($return, pc_permute($newitems, $newperms));
     }
}
return $return;
}

Эта функция скомбинировала !9 различных комбинаций, массив на выходе получился просто огромный. Но мне еще нужно проверить каждую комбинацию на наличие определенных условий. Но foreach отказывается это делать, хотя с маленьким массивом работает.

$value = array(3, 4, 5, 6, 7, 8, 9, 10, 11);
$combs = pc_permute($value);
$count = 0;
foreach ($combs as $comb) {
$x1 = $comb[0]*$comb[1]*$comb[2];
$x2 = $comb[0]*$comb[3]*$comb[2];
$y1 = $comb[3]*$comb[4]*$comb[5];
$y2 = $comb[1]*$comb[4]*$comb[7];
$z1 = $comb[6]*$comb[7]*$comb[8];
$z2 = $comb[2]*$comb[5]*$comb[8];

if ($x1 == $x2 && $y1 == $y2 && $z1 == $z2) {
    $count++;
    echo '<pre>'.implode($comb);
}
}
echo $count;
READ ALSO
Inline keyboard не отправляет ссылку с парамерами

Inline keyboard не отправляет ссылку с парамерами

Вопрос такой: Telegram bot отправляет сообщение с кнопкой (с ссылкой на сайт)Если указан один параметр: "site

144
Настройка PHP. GD FreeType

Настройка PHP. GD FreeType

Всем приветПомогите разобраться

167
PHP, как сделать пагинацию таблицы?

PHP, как сделать пагинацию таблицы?

ЗдравствуйтеПодскажите, пожалуйста, каким способом можно сделать пагинацию таблицы? Она заполняется записями из БД, которые пополняются...

139