Структурный поиск IntelliJ в PhpStorm для поиска определенной функции c, используемой в блоке foreach - PullRequest
0 голосов
/ 10 июля 2020

Мне нужно найти все foreach блоки, где бы я ни использовал функцию current() внутри них. Ниже приведен пример блока кода, который нужно найти.

$x=12;
foreach ($array as &$val)
{
    $cur=current($array);
    $x=$x+$cur;
    echo $cur;
}

1 Ответ

1 голос
/ 10 июля 2020

Вы можете попробовать это:

foreach ($statement$) {
$st1$
$var$ = current($arr$);
$st2$
}

enter image description here

Test code:

Result:

введите описание изображения здесь

ПРИМЕЧАНИЯ:

  1. Вы можете изменить Search target с «Полное совпадение» на некоторые конкретные c заполнитель / переменную и он выделит только это место вместо всего блока foreach ...

  2. Это правило не найдет места, где current() используется без присваивания или каким-либо другим способом ( это должно быть $someVar = current($someArray);).

    Вы можете создать для этого отдельное правило (хотя сейчас я не уверен, как их можно объединить), например,

foreach ($statement$) {
$st1$
current($arr$);
$st2$
}
...