<?php
    header('Content-type: text/html; charset=utf-8');
    $digits = array(11, 10, 16, 7, 14, 17, 12, 13);
    $size = count($digits) - 1;
    $sum = array_sum($digits);
    $newDigits = array();
    for ($i = 0; $i <= $size; $i++) {
        perm($i, $digits, $newDigits);
    }
    function perm($k, &$array, &$newArray) 
    {
        for ($q = 0; $q+$k < count($array); $q++) {
            $newArray[$k + $q] = $array[$k + $q];
            if ($k < (count($array) - 1)) {
                perm($k + $q + 1, $array, $newArray);
            }
            checkArray($newArray, $array);
            unset($newArray[$k + $q]);
            }
    }
    function checkArray (&$array, &$arrayOld) 
    {
        if (array_sum($array) * 2 == array_sum($arrayOld)) {
            $newArray = array();
            foreach ($arrayOld as $index => $element) {
                if (!(isset($array[$index]))) {
                    $newArray[] = $element;
                }
            }
            $s = implode(" + ", $array) . " = " . implode(" + ", $newArray);
            echo $s . "\n";
            }
        if (array_sum($array) == 100) {
            $s = implode(" + ", $array);
            echo $s." = 100. \n";
        }
    }