<?php
class SpredArrayClass
{
var $array = [1,2,3,4,5,6,7,8,9,9,10,11,12,13,14,15];
function spreadOutArray
(array $array = [], $targetOutputLength = 10) {
$originalArrayLength = count($array);
if ($originalArrayLength == 0) {
return false;
}
if ($originalArrayLength <= $targetOutputLength) {
return $array;
}
$output = [];
$interval = round($originalArrayLength / $targetOutputLength);
// JUST KEEP LOOPING & PUSHING TILL SO LONG AS $index IS GREATER THAN 0;
for($index = $originalArrayLength - 1; $index>=0; $index -= $interval) {
$output[] = $array[$index];
}
}
}
$spredArrayClass = new SpredArrayClass;
var_dump($spredArrayClass->spreadOutArray());
PD9waHAKCmNsYXNzIFNwcmVkQXJyYXlDbGFzcwp7Cgp2YXIgJGFycmF5ID0gWzEsMiwzLDQsNSw2LDcsOCw5LDksMTAsMTEsMTIsMTMsMTQsMTVdOwoKCWZ1bmN0aW9uIHNwcmVhZE91dEFycmF5KGFycmF5ICRhcnJheSA9IFtdLCAkdGFyZ2V0T3V0cHV0TGVuZ3RoID0gMTApIHsKCQkKCQkkYXJyYXkgPSAkdGhpcy0+YXJyYXk7CgkKCQkkb3JpZ2luYWxBcnJheUxlbmd0aCA9IGNvdW50KCRhcnJheSk7CgkKCQlpZiAoJG9yaWdpbmFsQXJyYXlMZW5ndGggPT0gMCkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCgkJaWYgKCRvcmlnaW5hbEFycmF5TGVuZ3RoIDw9ICR0YXJnZXRPdXRwdXRMZW5ndGgpIHsKCQkJcmV0dXJuICRhcnJheTsKCQl9CgkKICAgICAgICAkb3V0cHV0ID0gW107CiAgICAgICAgJGludGVydmFsID0gcm91bmQoJG9yaWdpbmFsQXJyYXlMZW5ndGggLyAkdGFyZ2V0T3V0cHV0TGVuZ3RoKTsKCiAgICAgICAgLy8gSlVTVCBLRUVQIExPT1BJTkcgJiBQVVNISU5HIFRJTEwgU08gTE9ORyBBUyAkaW5kZXggSVMgR1JFQVRFUiBUSEFOIDA7CiAgICAgICAgZm9yKCRpbmRleCA9ICRvcmlnaW5hbEFycmF5TGVuZ3RoIC0gMTsgJGluZGV4Pj0wOyAkaW5kZXggLT0gJGludGVydmFsKSB7CiAgICAgICAgICAgICRvdXRwdXRbXSA9ICRhcnJheVskaW5kZXhdOwogICAgICAgIH0KCQlyZXR1cm4gYXJyYXlfcmV2ZXJzZSgkb3V0cHV0KTsKCX0KfQoKJHNwcmVkQXJyYXlDbGFzcyA9IG5ldyBTcHJlZEFycmF5Q2xhc3M7CnZhcl9kdW1wKCRzcHJlZEFycmF5Q2xhc3MtPnNwcmVhZE91dEFycmF5KCkpOw==