<?php
$a = array('key1'=>1, 12, 7, 3.14, 'key2'=>8, 5, 'a', 3); $minKey = $maxKey = key ($a); $minIndex = $maxIndex = 0;
for ($count=0; ($el = each($a)) !== false; ++$count) { if ($a[$minKey] > $value) {
$minKey = $key;
$minIndex = $count;
}
if ($a[$maxKey] < $value) {
$maxKey = $key;
$maxIndex = $count;
}
}
$count = max(0,abs ($minIndex-$maxIndex)-1); $minIndex = min($minIndex, $maxIndex)+1;
foreach ($a as $key=>$value)
$b[$key] = $value;
for ($i=0; $i < $minIndex; ++$i) {
$a[$key]=$value;
}
for ($c=array(); $i < $minIndex+$count; ++$i) { $c[$key]=$value;
}
$a[$key]=$val;
}
while (($el = each($b)) !== false) { $a[$key]=$value;
}
PD9waHAKCiRhID0gYXJyYXkoJ2tleTEnPT4xLCAxMiwgNywgMy4xNCwgJ2tleTInPT44LCA1LCAnYScsIDMpOwp2YXJfZHVtcCgkYSk7CiRtaW5LZXkgPSAkbWF4S2V5ID0ga2V5ICgkYSk7CiRtaW5JbmRleCA9ICRtYXhJbmRleCA9IDA7CmZvciAoJGNvdW50PTA7ICgkZWwgPSBlYWNoKCRhKSkgIT09IGZhbHNlOyArKyRjb3VudCkgewoJbGlzdCgka2V5LCR2YWx1ZSk9JGVsOwoJaWYgKCRhWyRtaW5LZXldID4gJHZhbHVlKSB7CgkgICRtaW5LZXkgPSAka2V5OwoJICAkbWluSW5kZXggPSAkY291bnQ7Cgl9CglpZiAoJGFbJG1heEtleV0gPCAkdmFsdWUpIHsKCSAgJG1heEtleSA9ICRrZXk7CgkgICRtYXhJbmRleCA9ICRjb3VudDsKCX0KfQoKJGNvdW50ID0gbWF4KDAsYWJzICgkbWluSW5kZXgtJG1heEluZGV4KS0xKTsKJG1pbkluZGV4ID0gbWluKCRtaW5JbmRleCwgJG1heEluZGV4KSsxOwoKJGIgPSBhcnJheSgpOwpmb3JlYWNoICgkYSBhcyAka2V5PT4kdmFsdWUpCgkkYlska2V5XSA9ICR2YWx1ZTsKCQokYSA9IGFycmF5KCk7CmZvciAoJGk9MDsgJGkgPCAkbWluSW5kZXg7ICsrJGkpIHsKCWxpc3QoJGtleSwkdmFsdWUpPWVhY2goJGIpOwoJJGFbJGtleV09JHZhbHVlOwp9CmZvciAoJGM9YXJyYXkoKTsgJGkgPCAkbWluSW5kZXgrJGNvdW50OyArKyRpKSB7CglsaXN0KCRrZXksJHZhbHVlKT1lYWNoKCRiKTsKCSRjWyRrZXldPSR2YWx1ZTsKfQpmb3IgKGVuZCgkYyk7ICFpc19udWxsKCRrZXk9a2V5KCRjKSk7IHByZXYoJGMpKSB7CiAgICAkdmFsID0gY3VycmVudCgkYyk7CiAgICAkYVska2V5XT0kdmFsOwp9CndoaWxlICgoJGVsID0gZWFjaCgkYikpICE9PSBmYWxzZSkgewoJbGlzdCgka2V5LCR2YWx1ZSk9JGVsOwoJJGFbJGtleV09JHZhbHVlOwp9CnZhcl9kdW1wKCRhKTsgIA==