PHP单引号和双引号的区别?
$a = 1;
print '单引号原样输出:\n$a'.PHP_EOL;
print "双引号解析输出:\n$a"; // 会对$a、\n解析输出
/* result:
单引号原样输出:\n$a
双引号解析输出:
1
*/
// 可以看出:二者输出方式不同而已
PHP中echo、print、printf、print_r、var_dump的区别?
echo (6.7>6.3).PHP_EOL; // PHP_EOL相当于"\n"解析换行
echo (6.3>6.7).PHP_EOL;
print 'print:\n$a'.PHP_EOL;
echo printf('printf: %f %d %s '.PHP_EOL, 1.56,1.56, 1.56); //printf返回值26
echo print_r('print_r').PHP_EOL.print_r(':').PHP_EOL; //print_r返回1
echo var_dump('var_dump'); //var_dump返回null,所以打印不出来
/* result:
1
print:\n$a
printf: 1.560000 1 1.56
26print_r:1
1
string(8) "var_dump"
*/
// 可以看出,echo、print是语言结构,而printf、print_r、var_dump是函数,函数就需括号
// 函数一般会有返回值,printf返回字符串长度,print_r返回1,var_dump返回null
// 不管是用什么打印语句,都是为了达到标准输出
// 所以我们也可以自己封装个打印语句
function print_my($expression, array $args){
if (is_string($expression)){
$pattern = '/{{.*?}}/';
if (preg_match_all($pattern, $expression) === count($args)){
$pattern = array();
for ($i=0; $i<count($args); $i++){
$pattern[] = '/{{'.$i.'+?}}/';
}
$expression = preg_replace($pattern, $args, $expression);
echo $expression;
};
}
}
print_my('{{0}}{{1}}{{2}}你好',['和', '号', '1']);
Python单引号、双引号、三引号的区别?
a = 'aa' \
'aa'
b = "aa" \
"aa"
c = """aaa
aaa"""
print(a,b,c)
""" // result:
aaaa aaaa aaa
aaa
"""
# 无多大区别,都是原样输出
# 只需记得 三引号类似于一种“所见即所得”的境界
# 三引号可以使用计算机回车键当换行符,单引号和双引号不可,强行使用只会导致语法错误,在PHP里,也可使用回车当换行符
# 三引号无需反转义字符'\'就可以嵌套单引号和双引号,