<?php
function permute
($items, $perms = array(), $result = array()) {
{
$result[] = join('', $perms); }
else
{
for ($i = 0; $i < count($items); ++$i) {
$newitems = $items;
$newperms = $perms;
$result = permute($newitems, $newperms, $result);
}
}
return $result;
}
$bar = permute
(array("A", 'B', 'C'));
PD9waHAKCmZ1bmN0aW9uIHBlcm11dGUoJGl0ZW1zLCAkcGVybXMgPSBhcnJheSgpLCAkcmVzdWx0ID0gYXJyYXkoKSkgCnsKICAgIGlmIChlbXB0eSgkaXRlbXMpKSAKICAgIHsgCiAgICAgICAgJHJlc3VsdFtdID0gam9pbignJywgJHBlcm1zKTsKICAgIH0gIAogICAgZWxzZSAKICAgIHsKICAgICAgICBmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkaXRlbXMpOyArKyRpKSAKICAgICAgICB7CiAgICAgICAgICAgICAkbmV3aXRlbXMgPSAkaXRlbXM7CiAgICAgICAgICAgICAkbmV3cGVybXMgPSAkcGVybXM7CiAgICAgICAgICAgICAkZm9vID0gaW1wbG9kZShhcnJheV9zcGxpY2UoJG5ld2l0ZW1zLCAkaSwgMSkpOwogICAgICAgICAgICAgYXJyYXlfdW5zaGlmdCgkbmV3cGVybXMsICRmb28pOwogICAgICAgICAgICAgJHJlc3VsdCA9IHBlcm11dGUoJG5ld2l0ZW1zLCAkbmV3cGVybXMsICRyZXN1bHQpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAkcmVzdWx0Owp9CiRiYXIgPSBwZXJtdXRlKGFycmF5KCJBIiwgJ0InLCAnQycpKTsKCnZhcl9kdW1wKCRiYXIpOw==