php定界符和幾種輸出方式
阿新 • • 發佈:2019-02-20
•定界符<<<
1.PHP定界符的作用就是按照原樣,包括換行格式什麼的,輸出在其內部的東西;
2.在PHP定界符中的任何特殊字元都不需要轉義;
3.PHP定界符中的PHP變數會被正常的用其值來替換。
$name='aaa';
$str= <<<STR
<script type='text/javascript'>
alert('{$name}你好');
</script>
STR;
*1.以<<<End開始標記開始,以End結束標記結束,結束標記必須頂頭寫,不能有縮排和空格,且在結束標記末尾要有分號
2.開始標記和結束標記相同,比如常用大寫的EOT、EOD、EOF來表示,但是不只限於那幾個,只要保證開始標記和結束標記不在正文中出現即可。
2.幾種輸出方式
echo和print常用來輸出字串;
檢視陣列常用print_r、var_dump;
若使用echo和print輸出陣列時則,結果只能顯示"Array",不會顯示陣列的結構。
•echo
echo '張三';
•print_r
•die exit
function A(){ echo '正在執行函式'; // return 5;//終止指令碼的執行 die; echo 'return之後'; } echo '開始呼叫函式'; // return; echo '<br>'; $res = A(); echo '<br>'; echo $res; echo '<br>'; echo '結束呼叫函式';
•printf
int printf (const char * szFormat, ...);
第一個引數是一個格式化字串,後面是與格式化字串中的程式碼相對應的不同型別多個引數。
•sprintf
int sprintf (char * szBuffer, const char * szFormat, ...);
第一個引數是字串緩衝區,後面是一個格式字串。sprintf不是將格式化結果標準輸出,而是將其存入szBuffer。該函式返回該字串的長度。
$num=5; $location='樹上'; $format='有%d只猴子在%s'; echo sprintf($format,$num,$location); //執行結果為:有五隻猴子在樹上
3.常用字串函式
•strlen mb_strlen
$str='張三';//utf-8,一箇中文佔三個位元組
echo strlen($str);//返回字串所佔位元組個數結果為9
echo mb_strlen($str,'utf8');//結果為2
•trim ltrim rtrim
$str=" #123 # 456 #";
// //trim只能去除首尾,不能去除中間的字元
//ltrim去除首部空格
//rtrim去除尾部空格
•str_replace
定義和用法
str_replace() 函式以其他字元替換字串中的一些字元(區分大小寫)。
該函式必須遵循下列規則:
- 如果搜尋的字串是陣列,那麼它將返回陣列。
- 如果搜尋的字串是陣列,那麼它將對陣列中的每個元素進行查詢和替換。
- 如果同時需要對陣列進行查詢和替換,並且需要執行替換的元素少於查詢到的元素的數量,那麼多餘元素將用空字串進行替換
- 如果查詢的是陣列,而替換的是字串,那麼替代字串將對所有查詢到的值起作用。
<?php
echo str_replace("world","Shanghai","Hello world!");
?>
•mysql_escape_string addslashes stripslashes htmlspecialchars
$no=1001;
$name='張三';
$memo="I'm a student";
$memo="<script>alert(123)</script>";
$memo=addslashes($memo);
$memo=mysql_escape_string($name);
$memo=htmlspecialchars($memo);
$sql="insert into student(no,name,memo) values('{$no}','{$name}','{$memo}')";
echo $sql;
$str="<script>alert(123)</script>";
echo $str;
//反轉義
$str="I\'m a studen";
$str=stripslashes($str);
echo $str;