これは簡単な解決策だと確信しています-私はこれが関数で終わることを発見し、各文字列を個別にテストする代わりにarray_walk関数を試してみようと思いました。array_walk関数の結果はfalseになると思いましたが、1を返します...すべての文字列をテストし、一致するものが見つからなかった場合はfalseを返すにはどうすればよいですか?ありがとう
class {
function endsWith($value,$key,$haystack)
{
$length = strlen($value);
if ($length == 0) {
return true;
}
return (substr($haystack, -$length) === $value);
}
function thing()
{
$email = "should@returnfalse.info";
$arr = array("@test.net","@test.org.uk","@test.co.uk","@test.com");
echo array_walk($arr,array($this,"endsWith"),$email);
}
}