1. 程式人生 > >PHP單引號和雙引號的區別?

PHP單引號和雙引號的區別?

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裡,也可使用回車當換行符
# 三引號無需反轉義字元'\'就可以巢狀單引號和雙引號,