Добавить кавычки для ключей массива в строке - PullRequest
0 голосов
/ 30 ноября 2018

У меня много кода с массивами вроде $test[keyhere].Есть ли способ (например, в текстовом редакторе), который может автоматически исправить это как $test['keyhere'].

Пример:

echo "This is test variable: $test[keyhere] and...";

к этому:

echo "This is test variable: ".$test['keyhere']." and...";

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

В блокноте ++ вы можете сделать это:

Find: (\$\w+)\[([a-zA-Z]\w+)\]
Replace: $1['$2']

Регулярное выражение ищет что-то вроде $identifier[chars], где chars не включает окружающие кавычки, но также начинается с буквы (чтобы избежать цитированиячисла), а затем заменяет его на $identifier['chars'].

Если вы хотите добавить кавычки и операторы конкатенации PHP, измените строку замены на ".$1['$2']."

0 голосов
/ 30 ноября 2018

Вы можете сделать это с помощью PHP array_map () :

<?php
    function addQuotes($n)
    {
        return "'" . $n . "'";
    }

    $a = array(1, 2, 3, 4, 5);
    $b = array_map("addQuotes", $a);
    print_r($b);
?>

Или при печати просто добавьте кавычки:

echo "This is test variable: '".$test['keyhere']."' and...";

В редакторах вы можете использоватьНайти и заменить (почти во всех текстовых редакторах есть эта опция) обычно короткая клавиша cntrl + f для поиска, и есть опция для замены, cntrl + shift + f также опция короткой клавиши.

...