, Все знают Ctrl + X и Ctrl + C для вырезания/копирования текста; но Вы знали, что в VS не должны выбирать текст сначала, если Вы хотите сократить или скопировать одну строку? Если ничто не будет выбрано, целая строка будет сокращена или скопирована.
Вы можете использовать preg_grep ()
для отфильтруйте их:
$method_names = preg_grep('/^bla_/', get_class_methods($object));
Попробуйте:
$methods = array();
foreach (get_class_methods($myObj) as $method) {
if (strpos($method, "bla_") === 0) {
$methods[] = $method;
}
}
Обратите внимание, что здесь требуется ===
. ==
не будет работать, поскольку strpos ()
возвращает false
, если совпадений не найдено. Из-за динамической типизации PHP это значение равно 0
, и поэтому требуется строгая (типобезопасная) проверка равенства.
Почему бы вам просто не создать свою собственную функцию, которая просматривает массив из get_class_methods () и проверяет каждый элемент на соответствие «bla_» и возвращает новый список с каждым совпадающим значением?
Я бы предложил что-то более гибкое, например, это (если имена методов не являются динамическими или неизвестны):
interface ITest
{
function blah_test();
function blah_test2();
}
class Class1 implements ITest
{
function blah_test()
{
}
function blah_test2()
{
}
function somethingelse()
{
}
}
$obj = new Class1();
$methods = array_intersect( get_class_methods($obj), get_class_methods('ITest') );
foreach( $methods as $methodName )
{
echo "$methodName\n";
}
Выводы:
blah_test
blah_test2