<?php // php的列印與輸出 // 1.echo"顯示"輸出內容到瀏覽器 沒有返回值 // 2.print'列印' 有返回值 可用於三元運算子中 // var_dump()可以返回變數的完整資訊 // 4.print_r()列印輸出陣列,第二個引數設定為true 可以將變數的資訊轉換成字串, // 不輸出到瀏覽器,只是返回,通常用於線上除錯 echo 'how you doing?<br>'; $res = print'你好'; echo '<hr>'; var_dump($res); echo'<hr>'; $tel = 123456789; // echo $tel,$tel,tel; echo $tel . '||' . $tel . '||' . $tel; // ob_clean(); $arr = ['花生','玉米','火龍果','青蘋果',45,63,33]; //echo $arr// Warning: Array to string conversion in echo'<pre>'; print_r($arr); echo'<hr>'; var_dump($arr); $arr2 = ['uniapp','thinkphp','bootstrap']; $res = print_r($arr2,true); file_put_contents('log.txt','調錯資訊:'.$res); ?> <!-- 2 --> <?php // php變數 8種資料型別 4標量型別 2符合型別(陣列,物件) 2特殊型別(null,resource) // 標量型別 布林型boolean 整形int 字串string 浮點型float $username = 'admin'; $username=123; $username=23.32; $username=true; echo $username; var_dump( $username ); // 陣列 // 索引陣列:下表為整型的陣列 $arr = [1,2,3,4,'admin']; echo '<pre>'; var_dump($arr); // <!-- 關聯陣列:下標為字串的陣列 --> $info = [ 'uname'=>'chloe', 'email'=>'951242@qq.com','age'=>28,'gender'=>0]; var_dump($info); // 陣列的訪問 echo $arr[4].'<br>'; echo $info['email']; // 物件 類例項化的結果 // class NBaplayer{ // } // $jordan = new NBaplayer // null 1.表示一個變數沒有值 空 // 2.不表示空格 空字串 零 // 3.不區分大小寫 // ob_clean();//不起作用? $int = 34; var_dump($int); // 如何宣告一個變數為空 // 1. $int = null; echo '<br>'; var_dump($int); // 2.unset釋放變數 $username = 'xi xi'; unset($username); @var_dump($username); //resource 資源型別 儲存到外部資源的一個引用 $handle=fopen('log.txt','w'); // var_dump($handle);//resource(4) of type (stream) // php變數型別轉換 // 強制型別轉換(臨時) 應用於url query string parameter // var_dump($_GEF['page']);//string(1) "2" // 分頁資料必須是整型,才能計算偏移量 offset $page = (int)$_GET['$page']; echo'<br>'; var_dump($page); if($page === 10) { echo'資料正常'; }else{ echo'非法資料'; } $uid = 25; // var_dump($uid,(string)$uid,(float)$uid); var_dump((array)$uid,((array)$uid)[0]); // 系統自動轉換變數型別 $foo = '100pages'; @$foo += 200;//$foo = $foo+200; var_dump($foo); echo'<hr>'; $foo += 12.8; var_dump($foo); @$res = null + '10kg rice'; var_dump($res); @$res = 5 + '10kg rice'; var_dump($res); $user = ' chloe'; //字串的拼接 echo 'how you doing'.$user; echo '<hr>'; // bool型別的轉換 @var_dump($email);//null // null<===> false if(!@$email) { echo'你好'; } $p = $_GET ['page']; echo gettype($p);//string echo gettype((int)$p);//integer只是臨時轉換 echo gettype($p);//string echo 'hr'; //永遠轉化變數型別 settype($p,'integer'); echo gettype($p);//integer // 變數:程式碼中需要暫存的資料載體 可以複用 按名訪問 // php變數命名規則 // 1.變數規則要讓你的partner望文生意 // 2.變數名不能以數字開頭,可以以字母或者下劃線開頭後面跟上字母數字下劃線 // 4.多個單片語成的變數 itemprice itemPrice itemName itenDesc $_3site = 'taobao.com'; echo $_3site; $useername = 'chloe'; $USERNAME = 'admin'; echo $USERNAME; // var_dump($username); // VAR_DUMP($USERNAME); // ECHO SHA1('wwwphpcn'); // 變數賦值 // 1.傳值賦值 // 2.引用賦值 & // 傳值賦值 將源變數$a的值 複製出來一份新的值 記憶體空間地址給另一個變數$b,修改兩個變數的值 互不影響 $a = 45; $b = $a; printf('$a的值為%d,$b的值為%d<br>',$a,$b); $a = 450; // printf('$a的值為%d,%b的值為%d<br>',$a,$b); // 引用賦值 & 地址引用符:不存在複製操作 引用賦值更加快捷 // 新變數$price2引用/指向了原始變數(空間地址),互相影響 $price1 = 8888; $price2 = &$price1; printf('$price1的值為%d,$price2的值為%d<ber>',$price1,$price2); $price1 = 7999; printf('$price1的值為%d,$price2的值為%d<ber>',$price1,$price2); // 變數的檢查與釋放 // isset()檢測變數是否被被定義 存在並且不為null返回true,否則返回false var_dump(isset($pwd)); if(isset($pwd)) { echo'使用者密碼填寫了'; } //empty()檢測一個變數是否為空,為空才返回true 不為空返回false $username = 'admin'; var_dump(empty($username)); if(isset($username) && !empty($username)) { echo '使用者名稱存在'; } $token = ''; var_dump(empty($token));//true $token = 0; var_dump(empty($token));//true $token = false; var_dump(empty($token));//bool(true) $token = 1; var_dump(empty($token));//bool(false) $token = true; var_dump(empty($token));//bool(false) // 釋放 // unset()釋放掉的變數 變為空 // 常量 // 1.固定值,常量不能被從新定義 不能被取消 // 2.常量的命名前不能¥ // 3.常量的明名推薦全部大寫 // 4.php全域性成員:常量 函式 類 介面 (不接受作用域的限制) // 變數不是全域性變數,嚴格受作用域的限制 // 定義常量 // define() define('NATION','china'); echo NATION; // Const關鍵字 字面量 const USER_NOT_EXSIT = '使用者不存在'; echo json_encode(['msg'=>USER_NOT_EXSIT],320); printf('國籍:%s',NATION); class User{ // 類常量只能用const關鍵字宣告 const APP_PATH = "/0802/part1"; } // 常量必須初始化賦值 $height; const GENDER = '女'; // 變數作用域 // 函式體外聲名的變數的全域性變數 $one = 200; $two = 300; function add(int $a,int $b):string { return $a+$b; } // var_dump(add(1,2)); // var_dump(add($one,$two)); function add1() { $a = 10; $b = 11; echo ($a+$b); } add1(); echo $a;//非法訪問 在函式外部不能訪問函式內部定義的全域性變數s ?>