<?php
function section()
{
$fn = $args[0];
return function() use($fn, $args)
{
};
}
function all_fn($predicates)
{
foreach($predicates as $p) {
if (!$p('C')) {
return false;
echo "Found false, bailing out";
}
}
return true;
}
function is_char_a($c) { return $c == 'A'; }
function is_char($a, $c) { return $c == $a; }
function is_char_b($c) { return $c == 'B'; }
echo all_fn
(array(section
('is_char', 'B'), section
('is_char_b')));
PD9waHAKCmZ1bmN0aW9uIHNlY3Rpb24oKSAKewoJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkkZm4gPSAkYXJnc1swXTsKCXVuc2V0KCRhcmdzWzBdKTsKICAgIHJldHVybiBmdW5jdGlvbigpIHVzZSgkZm4sICRhcmdzKSAKICAgIHsKICAgICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoJGZuLCBhcnJheV9tZXJnZSgkYXJncywgZnVuY19nZXRfYXJncygpKSk7CiAgICB9Owp9CgpmdW5jdGlvbiBhbGxfZm4oJHByZWRpY2F0ZXMpCnsKCWZvcmVhY2goJHByZWRpY2F0ZXMgYXMgJHApIHsKCQlpZiAoISRwKCdDJykpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCQllY2hvICJGb3VuZCBmYWxzZSwgYmFpbGluZyBvdXQiOwoJCX0KCX0KCXJldHVybiB0cnVlOwp9CgpmdW5jdGlvbiBpc19jaGFyX2EoJGMpIHsgcmV0dXJuICRjID09ICdBJzsgfQpmdW5jdGlvbiBpc19jaGFyKCRhLCAkYykgeyByZXR1cm4gJGMgPT0gJGE7IH0KZnVuY3Rpb24gaXNfY2hhcl9iKCRjKSB7IHJldHVybiAkYyA9PSAnQic7IH0KCmVjaG8gYWxsX2ZuKGFycmF5KHNlY3Rpb24oJ2lzX2NoYXInLCAnQicpLCBzZWN0aW9uKCdpc19jaGFyX2InKSkpOw==