Day 37 (PHP)

1.取得型别echo gettype

<?php    // $[a-zA-Z][a-zA-Z0-9_]*    // 弱型别程式语言PHP, JavaScript => 强型别 Java    $var1 = 123;         echo gettype($var1) . '<br />';  //integer    $var1 = 12.3;    echo gettype($var1) . '<br />';  //double    $var1 = 'Brad';    echo gettype($var1) . '<br />';  //string    $var1 = false;    echo gettype($var1) . '<br />';  //boolean    $var1 = new DateTime();    echo gettype($var1) . '<br />';  //object?>

强型别:宣告后不能改变 ex:Int
宣告变数不要用$$、$_ : 有特殊用处,并且大小写严格区分
. :连接字串


2.计算

<?php    $var1 = 'Brad';    $var2 = 'Chao';    $var3 = "$var1$var2" . '<br />';    $var4 = 59;    echo $var3;        //BradChao    echo "{$var4}kg";  //59kg?>

"{$变数}字串" >>> ""、''有差异


3.认识后端 method="get"

<script>    function add() {}</script><form action="brad08_收取资料.php" method="get">    <!-- get是预设,改成method="post"会送不出去 -->    <!-- action="brad08_收取资料.php"没给出去会留在原地(载入,有带参数)-->    <input type="number" id="x" name="x" />    <span>+</span>    <input type="number" id="y" name="y" l>    <input type="button" onclick="add()" value="=(JS)" />    <input type="submit" value="=(PHP)" /></form>

PHP会送出而刷新页面(或送去别的PHP处理),但(X+X=?)用JS写就好了
method="get":抓住,预设,如没给出去会留在原地自己处理(有带参数)
action="brad08.php":送去这PHP处理


4.取得资料 $_GET

// brad08.php内<?php    $x = $_GET['x'];      $y = $_GET['y'];    $result = $x + $y;    echo "{$x} + {$y} = {$result}";?>

5.变数有大小写严格区分

指令、函数没有严格区分

(1)变数

<?php    $a = 123;    $A = 456;    echo $A;?>
<?php    $_GET = 124;    echo $_GET;?>

(2)指令

<?php    $a = 123;    $A = 456;    eCho $A;?>

(3)函数

<?php    $a = 123;    $A = 456;    eCho GetType($a);?>

6.自己处理时

<?php    $x = $_GET['x'];    $y = $_GET['y'];    $result = $x + $y;  //JS要转型数值才能+ 否则会"字串"+"字串"// echo "{$x} + {$y} = {$result}";   //不显示在网页上?><script>    function add() {}</script>    <form method="get">    <input type="number" id="x" name="x" value="<?php echo $x ?>" />    <span>+</span>    <input type="number" id="y" name="y" value="<?php echo $y ?>">    <input type="button" onclick="add()" value="=(JS)" />    <input type="submit" value="=(PHP)" />    <!-- 答案放这里 -->    <span><?php echo $result ?></span></form>

自己get,放答案~


7.PHP标籤内可以放HTML标籤,因为会分别送去各自的地方处理

PHP>>送去阿帕契(程式,嵌入(似link:CSS)),检视原始码不会有PHP
HTML>>送去浏览器(文件)


8.找组态档去设定PHP,让错误讯息显示(开发用)-----开发记得打开~

记得对外营业的时候关掉,才不会被人家发现哪里错误XD

(1)档案brad02.php

(2)找
Loaded Configuration File
C:\MAMP\conf\php7.4.1\php.ini

(3)编辑php.ini >> display_errors = On

(4)重新开伺服器


9.抓值isset,不使用也可以跑,但实际上是错误

<?php    $aaa = 123;    if (isset($aaa)) {        echo $aaa;    } else {        echo 'xxxxx';    }?>

不使用isset也可以跑,但实际上是错误(职场上有人会这样写)

<?php    $aaa = 123;    if ($aaa) {        echo $aaa;    } else {        echo 'xxxxx';    }?>

10.isset带一个name:属性,其他会跟着带

<?php    $result =  $op = ''; //预设值    if (isset($_GET['x']) && isset($_GET['y'])) {        //isset带一个name:属性,其他会跟着带,        //这是http的通讯协定,所以可以只写isset($_GET['x'])        $op = $_GET['op'];        $x = $_GET['x'];        $y = $_GET['y'];  // JS要转型数值才能+ 否则会"字串"+"字串"        $result = $x + $y;    }?>

11.强制转型整数(int)

     if ($op == 1) {        $result = $x + $y;    } else if ($op == 2) {        $result = $x - $y;    } else if ($op == 3) {        $result = $x * $y;    } else if ($op == 4) {        $result = (int)($x / $y) . ' ...... ' . ($x % $y); //强制转型整数    } else {        $result = "";    }

12.乱数 rand乱数(最小,最大)

    $score = rand(0,100);    echo $score . '<hr />';    if ($score >= 90){        echo 'A';    }else if ($score >= 80){        echo 'B';    }else if ($score >= 70){        echo 'C';    }else if ($score >= 60){        echo 'D';    }else {        echo 'E';    }

13.PHP官网 查询rand如何使用~?

https://www.php.net/manual/en/function.rand


14.case可以使用变数、计算

    $var1 = 10;    $var2 = 20;    switch ($var1) {    case 1:        echo 'A';        break;    case 2:        echo 'A1';        break;    case $var2 - 10: //要=var1        echo 'B';        break;    default:        echo 'C';}

15.for不只可以跑Loop,範例如下:test1()、drawLine()

$i = 0;for (test1(); $i < 10; drawLine()) {    // test1()拿来做一件事情    // $i = 0;在外面已经附值    echo "{$i}<br />";    $i++;    // drawLine()拿来做一件事情    //$i++;拿出来~}function test1()    {    echo 'Brad<br />';    }function drawLine()    {    echo '<hr />';    }

16.99乘法表推论(PHP02影片5:00)

1.概念

  2x1=2  2x1=2  2x1=2  2x1=2  2x1=2

2.for(;;)

3.迴圈跑的次数对,但是内容不对 2x1(~9)=2

    for($i=1从1出发 ;$i<=9乘以9次 ;$i++){        echo "2 x 1 = 2<br>";    }

4.修改内容(2这个乘法表正确)

    for ($i = 1; $i <= 9; $i++) {        $r = 2 * $i;                   //$r装答案        echo " 2 x {$i} = {$r} <br> ";    }

5.让这个2这个乘法表被框包起来

    echo '<td>';    for ($i = 1; $i <= 9; $i++) {        $r = 2 * $i;          //$r装答案        echo " 2 x {$i} = {$r} <br> \n";    }    echo '<td>';

6.处理其他层(2~5)(for包起来)

            for ($j = 2; $j <= 5; $j++) {                echo '<td>';                for ($i = 1; $i <= 9; $i++) {                    $r = 2 * $i;          //$r装答案                    echo " 2 x {$i} = {$r} <br>\n";                }                echo '<td>';            }

7.把2抓掉,放上变数{$j},完成2~5乘法表正确

            for ($j = 2; $j <= 5; $j++) {                echo '<td>';                for ($i = 1; $i <= 9; $i++) {                    $r = 2 * $i;          //$r装答案                    echo " {$j} x {$i} = {$r} <br>\n";                }                echo '<td>';            }

8.做6~9,先放入tr,不要跑版

            echo '<tr>';            for ($j = 2; $j <= 5; $j++) {                echo '<td>';                for ($i = 1; $i <= 9; $i++) {                    $r = 2 * $i;          //$r装答案                    echo " {$j} x {$i} = {$r} <br>\n";                }                echo '<td>';            }            echo '<tr>';

9.增加for,思考方式:tr要几列?(横向两列)先做版面

            for ($k = 0; $k < 2; $k++) {                echo '<tr>';                for ($j = 2; $j <= 5; $j++) {                    echo '<td>';                    for ($i = 1; $i <= 9; $i++) {                        $r = 2 * $i;          //$r装答案                        echo " {$j} x {$i} = {$r} <br>\n";                    }                    echo '<td>';                }                echo '<tr>';            }

10.把6~9的内容更改(前面+4: 2+4=6、3+4=7、4+4=8....)

调整$j ==> $newj = $j + $k * 4;
有先*/后+-

第一圈要保留,从第二圈{$k}开始改
04 = 0 :2+0=2、3+0=3、4+0=4、5+0=5(上排,第一圈)
1
4 = 4 :2+4=6、3+4=7、4+4=8....(下排,第二圈)

            for ($k = 0; $k <= 1; $k++) {                echo '<tr>';                for ($j = 2; $j <= 5; $j++) {                    $newj = $j + $k * 4;                    echo '<td>';                    for ($i = 1; $i <= 9; $i++) {                        $r = 2 * $i;          //$r装答案                        echo " {$newj} x {$i} = {$r} <br>\n";                    }                    echo '<td>';                }                echo '<tr>';            }

11.PHP的写常数(常数:固定不变的数)define

    define("ROW", 4);    define("COL", 4);    define("START", 2);    for ($k = 0; $k < ROW; $k++) {        echo '<tr>';        for ($j = START; $j < START + COL; $j++) {            $newj = $j + $k * COL;            if (($j + $k) % 2 == 0) {                echo '<td bgcolor="yellow">';            } else {                echo '<td bgcolor="pink">';            }            for ($i = 1; $i <= 9; $i++) {                $r = $newj * $i;                echo "{$newj} x {$i} = {$r}<br />\n";            }            echo '</td>';        }        echo '</tr>';    }

改成常数,之后就会很好控制~弹性高!常数不用$


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章