Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中执行字符串连接的最佳方法是什么?_Php_String - Fatal编程技术网

在PHP中执行字符串连接的最佳方法是什么?

在PHP中执行字符串连接的最佳方法是什么?,php,string,Php,String,在php中,我们可以通过多种方式附加字符串 Method 1 ---------------------------- $sql = "SELECT field1, "; $sql .= " field2, "; $sql .= " field3, "; $sql .= " field4, ";

在php中,我们可以通过多种方式附加字符串

            Method 1
            ----------------------------
            $sql  = "SELECT field1, ";
            $sql .= "       field2, ";
            $sql .= "       field3, ";
            $sql .= "       field4, ";
            $sql .= "FROM   table1 ";
            $sql .= "WHERE  condition1 = '".$value."' " ;

            Method 2
            ----------------------------
            $sql  = 'SELECT field1, ';
            $sql .= '       field2, ';
            $sql .= '       field3, ';
            $sql .= '       field4, ';
            $sql .= 'FROM   table1 ';
            $sql .= 'WHERE  condition1 = "'.$value.'" ' ;

            Method 3
            ----------------------------
            $sql  = 'SELECT field1,
                           field2,
                           field3,
                           field4,
                    FROM   table1
                    WHERE  condition1 = "'.$value.'" ' ;

            Method 4
            ----------------------------
            $str = <<<HEREDOC
                    SELECT field1,
                           field2,
                           field3,
                           field4,
                    FROM   table1
                    WHERE  condition1 = "$value"
            HEREDOC;
以上哪一项是最好的方法?有没有其他方法可以提高性能?

我赞成方法3

连接操作越少越好


此外,应该尽可能多地使用单引号,以避免PHP解析器必须在字符串中插入变量

创建查询本身不会占用最小的内存量,也不会占用cpuit,但占用的内存量非常小,因此您应该关注的是如何从您的计算机上运行查询,确保您有一个合适的索引等等

就我而言,没有“最佳方法”。
经验法则是选择一个你喜欢的,并坚持下去,在整个项目中保持一致。

没有比这更好的了。只要选择一个并坚持使用它,就可以用来自动检查您的代码样式。

从技术上讲,连接最少的解决方案不是最好的方法吗?我认为您实际上是对的,Russell。任何连接最少的解决方案都是最好的。剩下的是风格和保持一致性的问题。如果你用连接做了一百万个循环,这将很重要。否则,尝试微优化和削减一些NanoSec是徒劳的。给我投反对票的先生一个小链接,因为我喜欢我的单引号:关于微优化的伟大页面。