<?php
function palindrome_array($n, $to_str = false) {
if( ($n = (int)$n) == 0 ) return false;
$is_odd = $n % 2;
$output = [];
for($i = 0, $k = 0; $i < $n; $i++) {
$output[] = $i < $half ? ++$k : ($is_odd ? --$k : $k--);
}
return $to_str ?
implode('', $output) : $output ; }
print_r( palindrome_array
(5, true) );
PD9waHAKZnVuY3Rpb24gcGFsaW5kcm9tZV9hcnJheSgkbiwgJHRvX3N0ciA9IGZhbHNlKSB7CiAgICBpZiggKCRuID0gKGludCkkbikgPT0gMCApIHJldHVybiBmYWxzZTsKICAgICRoYWxmID0gY2VpbCgkbiAvIDIpOwogICAgJGlzX29kZCA9ICRuICUgMjsKICAgICRvdXRwdXQgPSBbXTsKICAgIGZvcigkaSA9IDAsICRrID0gMDsgJGkgPCAkbjsgJGkrKykgewogICAgICAgICRvdXRwdXRbXSA9ICRpIDwgJGhhbGYgPyArKyRrIDogKCRpc19vZGQgPyAtLSRrIDogJGstLSk7ICAgIAogICAgfQogICAgcmV0dXJuICR0b19zdHIgPyBpbXBsb2RlKCcnLCAkb3V0cHV0KSA6ICRvdXRwdXQgOwp9CiAKcHJpbnRfciggcGFsaW5kcm9tZV9hcnJheSg0KSApOwpwcmludF9yKCBwYWxpbmRyb21lX2FycmF5KDUsIHRydWUpICk7