2.語法基礎
echo 不能用在複雜表示式,因為返回void,能輸出多個字串。
<?p
$i="我";
$you="你";
echo $i,"很好, ", $you , "最近怎麼樣?"
?>
print 返回boolean值;
printf 返回整型數值,表示字串長度
<?php
printf("%s is %d years old. ","candy",20);//輸出:candy is //20 years old。
printf("(1.234*100) = %d", (1.23*100));//輸出(1.234*100=123)
$num=100.01;
printf("%s----%d---%b---%x---%o---%f", $num, $num, $num, $num, $num, $num);
printf("%.2f", $num);//小數點保留兩位,100.00
printf("%.1f", $num);
printf("the %1\$s says: %2\$s, %2\$s", "dog","bark");//注意:$轉義為/$
?>
單引號和雙引號
<?php
echo"字串";
echo'字串';
$a = 10;
echo '$a \n';
echo "$a \n";//雙引號中內容會解釋,會換行
$a='hello'; $b='php world';
echo $a , $b.'
'; //echo可以輸出多個字串;
print $a.$b.'
';//printf不能使用逗號,只能用點號分隔
?>
轉義字元 加\
\n 換行
\r 回車
\t 水平製表符
\\反斜槓
\$ 美元符 \" 雙引號 \'單引號
\[0-7] 正規表示式匹配乙個用八進位制符號表示的字元
\x[0-9a-fa-f]十六進製制
echo '這個字串:"i\'m ok"';
字元型別gettype
<?p
$two="2";
$three=3;
$bool=true;
$float=1.2;
echo gettype($two);
echo gettype($three);
echo gettype($bool);
echo gettype($float);
?>
陣列
<?php
$arr= array("hello"=>"world", 12=>true);
echo $arr["hello"];//輸出world
echo $arr[12];//輸出1
?>
=>和->
=> 陣列的關聯符號
-> 物件屬性或方法的操作符
判斷函式
is_array()
is_bool()
is_float()
is_object()
is_null::::::::::::::if(is_null($stu['username']) echo"使用is_null";)//輸出 使用is_null
is_resource()
is_string()
陣列型別轉換,(int)$aarr等同理
<?php
$v="cat";
$arr=array("cat", "love");
$arr=array($v);
echo $arr[0];//輸出cat
echo $arr[1];/undefined offset
echo $arr[2];//
$s="你好";
$sss=(object)$s;
print $sss->scalar; //輸出:你好
var_dump((boolean) "");
?>
注意:轉換為object後,就成為該物件的屬性,屬性名為scalar,可以通過物件引用。
變數命名
1、區分大小寫
2、字元或_開頭
引用賦值:變數1變,則變數2也變
$value1=1;
$value2= & %value1;或$value2=& %value2;
全域性變數global
整個php頁面都能使用該變數
靜態變數static
再次呼叫能保留剛才的值
function myfunc()
myfunc();
myfunc();//輸出哈哈
myfunc();//輸出哈哈哈
?>
echo "
"; echo "你的瀏覽器是 :".$_server['http_user_agent'];
echo'
';';//木有輸出啊????print_r($_env);
echo'
define("str","admin");//定義常量
echo constant("str");//獲取常量
$a+=5;//$a=$a-5
字串和0比較,會先將字串轉換為整數0,則相等了。。。
switch ($user)
foreach
1\陣列2\陣列包含鍵和值
$arr1=array("20","21","22");
foreach ($arr1 as $a)
$arr2=array("user1"=>"20", "user2"=>"21", "user3"=>"22");
foreach($arr2 as $a=>$b)
$arr=array(1,2,3,4);
foreach ($arr as &$value)
$value = $value*2;//$arr 為2,4,6,8
$aa=array(0=>"9016", 1=>"9017", 2=>"9018");
$i=0;
while($aa)
}
注意避免死迴圈
1、break
$arr=array("red, ", "green, ", "blue, ","yellow, ");
foreach($arr as $value)
echo "跳出";// 輸出:red 跳出
$arr=array("read, ","green, ","blue, " );
foreach($arr as $value)
echo"跳出";//輸出:red blue 跳出
continue和break是跳出迴圈,而不是if
require若包含不存在的檔案,會導致致命錯誤,而include只會產生警告。
require保證不重複載入
類
class dog;
}$dog=new dog();
$dog->name="小黑";
class student
function eat()
} $ob_name=new class_name();//建立類用new
$stu= new student(); //student是類 $stu 是例項化物件
private 私有,只能在類內使用
public 公共,php任何頁面都能呼叫,預設public
protected只能在類或類的子類中呼叫
abstract ???
final表示只能呼叫方法,不能重置 final function gett()
建構函式 __construct()
析構函式__destruct()
__get()
__set()
autoload()
寫在騰訊大講堂演講之後
好久沒寫日誌了,今天發一篇吧!最近找工作,我發現有很多想去大公司的人都被過濾掉了,他之前一直認為自己適合大公司,面試的時候人家確沒要他。有的更加清晰的認識到自己其實就更適合創業,去一家規模不大的公司,而不是去大公司當個螺絲釘。第乙份工作,我覺得只要和自己的行業匹配,而不是你想去網際網路公司結果去了微...
PCB設計大講堂 PCB Layout細則(二)
深圳巨集力捷電子是一家專業從事電子產品設計 layout 的pcb設計公司,主要承接多層 高密度的pcb設計畫板業務。擁有平均超過8年工作經驗的pcb設計團隊,能熟練運用市場主流pcb設計軟體,專業高效溝通保證pcb設計進度,助您早一步搶占市場先機!e.pcb走線鋪銅 1 先確定是何安規,因為不同安...
串列埠 朱老師物聯網大講堂
1.7.6.s5pv210序列通訊介面詳解3 1.7.6.1 序列通訊與中斷的關係 1 串列埠通訊分為傳送 接收2部分。傳送方一般不需要 也可以使用 中斷即可完成傳送,接收方必須 一般來說必須,也可以輪詢方式接收 使用中斷來接收。2 傳送方可以選擇使用中斷,也可以選擇不使用中斷。使用中斷的工作情景是...