在字符串 [duplicate] 中向数组键添加引号

Add quotes to array keys in string [duplicate]

提问人:TJ27 提问时间:11/30/2018 最后编辑:Federico klez CullocaTJ27 更新时间:11/30/2018 访问量:836

问:

我有很多代码有像 .有没有办法(例如在文本编辑器中)可以自动纠正这个问题,例如.$test[keyhere]$test['keyhere']

例:

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

对此:

echo "This is test variable: ".$test['keyhere']." and...";
PHP 数组 行情

评论

2赞 finico 11/30/2018
几乎每个编辑器都有正则表达式find and replace
0赞 Parvej Alam 11/30/2018
我建议使用崇高的文本编辑器。您可以在其中同时选择多个值,也可以同时编辑多行。

答:

-1赞 MorganFreeFarm 11/30/2018 #1

你可以用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 + fcntrl + shift + f

1赞 Nick 11/30/2018 #2

在 notepad++ 中,您可以这样做:

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

正则表达式查找不包含周围引号但以字母开头(以避免引用数字)的形式,然后将其替换为 。$identifier[chars]chars$identifier['chars']

如果要添加引号和 PHP 串联运算符,请将 replace 字符串更改为".$1['$2']."