草庐IT

concatenation

全部标签

php - 在 PHP 中将 `null` 与字符串连接是否安全?

我没有在文档中找到关于字符串和null之间兼容性的声明,但是在PHP5.5上尝试了这个:echo'foo'.null.'bar';打印出foobar。我想知道这种行为是否得到保证或“安全”(例如,在SQL中,它不是)?或者问另一种方式:在连接字符串之前我是否需要检查null?喜欢echo'foo'.(($mystring===null)?'':$mystring).'bar'; 最佳答案 来自documentation:NULLisalwaysconvertedtoanemptystring.是的,您可以依赖这种行为。

php - 为什么 PHP 中的字符串连接使用句号 "."而不是加号 "+"?

为什么PHP的设计者决定使用句号/句点/“.”作为字符串连接运算符而不是更常见的加号“+”?这样做有什么好处,或者有什么理由吗?还是他们只是喜欢?:o) 最佳答案 PHP的语法受Perl影响,.是Perl中的字符串连接运算符。在弱类型语言中,使用不同的字符串连接和数字加法运算符具有优势:您使用哪一个将影响语言将变量强制转换为哪种类型。碰巧的是,Perl6将使用波浪号~而不是点.进行字符串连接,因为.将用于对象成员访问。所以现在看来​​Perl的设计者认为这是一个糟糕的选择。也许,在Perl和PHP的早期非面向对象的日子里,这似乎是一

php - 为什么 PHP 中的字符串连接使用句号 "."而不是加号 "+"?

为什么PHP的设计者决定使用句号/句点/“.”作为字符串连接运算符而不是更常见的加号“+”?这样做有什么好处,或者有什么理由吗?还是他们只是喜欢?:o) 最佳答案 PHP的语法受Perl影响,.是Perl中的字符串连接运算符。在弱类型语言中,使用不同的字符串连接和数字加法运算符具有优势:您使用哪一个将影响语言将变量强制转换为哪种类型。碰巧的是,Perl6将使用波浪号~而不是点.进行字符串连接,因为.将用于对象成员访问。所以现在看来​​Perl的设计者认为这是一个糟糕的选择。也许,在Perl和PHP的早期非面向对象的日子里,这似乎是一

c++ - 如何连接两个或多个 gzip 文件/流

我想连接两个或多个gzip流而不重新压缩它们。我的意思是我将A压缩为A.gz,将B压缩为B.gz,我想使用C或C++将它们压缩为单个gzip(A+B).gz而无需再次压缩。几个注意事项:即使你可以连接两个文件,而gunzip知道如何处理它们,大多数程序也无法处理两个block。我曾经见过一个代码示例,它仅通过解压缩文件然后处理原始文件来完成此操作,这比正常的重新压缩要快得多,但仍然需要O(n)的CPU操作。不幸的是,我找不到我曾经找到的这个示例(仅使用解压缩进行连接),如果有人能指出它,我会很感激。注意:它不是this的重复。因为建议的解决方案不符合我的需求。澄清编辑:我想连接几个压缩

c++ - 如何连接两个或多个 gzip 文件/流

我想连接两个或多个gzip流而不重新压缩它们。我的意思是我将A压缩为A.gz,将B压缩为B.gz,我想使用C或C++将它们压缩为单个gzip(A+B).gz而无需再次压缩。几个注意事项:即使你可以连接两个文件,而gunzip知道如何处理它们,大多数程序也无法处理两个block。我曾经见过一个代码示例,它仅通过解压缩文件然后处理原始文件来完成此操作,这比正常的重新压缩要快得多,但仍然需要O(n)的CPU操作。不幸的是,我找不到我曾经找到的这个示例(仅使用解压缩进行连接),如果有人能指出它,我会很感激。注意:它不是this的重复。因为建议的解决方案不符合我的需求。澄清编辑:我想连接几个压缩

C++ 将两个 int 数组连接成一个更大的数组

有没有办法在C++中获取两个int数组int*arr1;int*arr2;//pretendthatinthelinesbelow,wefillthesetwoarrayswithdifferent//intvalues然后将它们组合成一个更大的数组,包含两个数组的值? 最佳答案 使用std::copy在标题中定义.args是指向输入第一个元素的指针、指向输入最后一个元素的指针和指向输出第一个元素的指针。(https://en.cppreference.com/w/cpp/algorithm/copy)int*result=newi

C++ 将两个 int 数组连接成一个更大的数组

有没有办法在C++中获取两个int数组int*arr1;int*arr2;//pretendthatinthelinesbelow,wefillthesetwoarrayswithdifferent//intvalues然后将它们组合成一个更大的数组,包含两个数组的值? 最佳答案 使用std::copy在标题中定义.args是指向输入第一个元素的指针、指向输入最后一个元素的指针和指向输出第一个元素的指针。(https://en.cppreference.com/w/cpp/algorithm/copy)int*result=newi

javascript - 使用 npm 作为构建工具连接文件

我最近发现我可以使用npm作为任务运行程序而不是gulp或grunt,到目前为止一切都很棒(lint、stylus、jade、uglify、watch..等)但是连接部分,我似乎无法实现那。用gulp是这样的:gulp.task('scripts',function(){returngulp.src('www/js/**/*.js').pipe(concat('all.js')).pipe(gulp.dest('www/dist')).pipe(rename('all.min.js')).pipe(uglify()).pipe(gulp.dest('www/dist'));});有没有

javascript - 使用 npm 作为构建工具连接文件

我最近发现我可以使用npm作为任务运行程序而不是gulp或grunt,到目前为止一切都很棒(lint、stylus、jade、uglify、watch..等)但是连接部分,我似乎无法实现那。用gulp是这样的:gulp.task('scripts',function(){returngulp.src('www/js/**/*.js').pipe(concat('all.js')).pipe(gulp.dest('www/dist')).pipe(rename('all.min.js')).pipe(uglify()).pipe(gulp.dest('www/dist'));});有没有

javascript - 在 nodeJS/JavaScript 中连接字符串的快速方法

这个问题在这里已经有了答案:MostefficientwaytoconcatenatestringsinJavaScript?(7个回答)关闭6年前。我知道做类似的事情vara="hello";a+="world";它相对来说非常慢,就像浏览器在O(n)中那样。在不安装新库的情况下,有没有更快的方法? 最佳答案 这个问题已经回答了,但是当我第一次看到它时,我想到了NodeJSBuffer。但它比+慢得多,因此在字符串连接中没有什么比+更快的了。使用以下代码测试:functiona(){vars="hello";varp="world