У меня есть массив, например
$ box = [1,2,3,6];
Что я хочу? Пользовательский ввод $ n должен быть равен array_sum нового массива, учитывая, что это должно быть выполнено через заданные числа только из массива $ box.
Примечание: число может повторяться. сначала следует взять большее число.
здесь тот же ввод / op
Если пользователь вводит $ n = 9, создается новый массив, скажем, $ parcel = [6,3];
если пользователь вводит $ n = 18, создается новый массив, например, $ parcel = [6,6,6];
если пользователь вводит $ n = 21, создается новый массив, например, $ parcel = [6,6,6,3];
если пользователь вводит $ n = 3, создается новый массив, скажем, $ parcel = [3];
если пользователь вводит $ n = 5 создается новый массив, скажем, $ parcel = [3,2];
Что я пробовал?
error_reporting();
$n = 7;
$box = [6, 3, 2, 1];
$parcel = [];
if (in_array($n, $box)) {
$j = array_search($n, $box);
array_push($parcel, $box[$j]);
} else {
function myfunction($num)
{
foreach ($GLOBALS['box'] as $bob) {
if (array_sum($GLOBALS['parcel']) !== $GLOBALS['n']) {
return array_push($GLOBALS['parcel'], $bob);
}
}
}
array_map("myfunction", $box);
}
print_r($parcel);
//print_r($new);