003——继续

输出几个$_SERVER的信息

<?php 
    $arr1 = array(
        "PHP_SELF"=>"网页路径",
        "DOCUMENT_ROOT"=>"站点路径",
        "SERVER_NAME"=>"服务器名",
        "REMOTE_ADDR"=>"客户端IP", 
        "SERVER_ADDR"=>"服务器IP"
        );

    echo "<table border='1'>";
    foreach ($arr1 as $key => $value) {
        echo "<tr>";
            echo "<td>$key</td>";
            echo "<td>\$_SERVER['$key']</td>";
            echo "<td>" . $_SERVER["$key"] . "</td>";
            // echo "<td>" . $_SERVER[$key] . "</td>";
            echo "<td>" . $value . "</td>";
        echo "</tr>";
    }
    echo "</table>";
?>

计算器改进

// index.php
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <?php
        $val1 = "";
        $val2 = "";
        $result = "";
        $symbol = "";
        if($_POST) {// 有提交数据时才执行
            $val1 = $_POST['val1'];
            $val2 = $_POST['val2'];
            $symbol = $_POST['symbol'];
            if(is_numeric($val1) && is_numeric($val2)) {// 判断是否为数字
                switch ($symbol) {
                    case '+':
                        $result = $val1 + $val2;
                        break;
                    case '-':
                        $result = $val1 - $val2;
                        break;
                    case '*':
                        $result = $val1 * $val2;
                        break;
                    case '/':
                        $result = $val1 / $val2;
                        break;
                }
                // echo $result;
            }
            else{
                echo "请输入正常的痒马号";
            }
        }
    ?>
    <form method="post">
        <input type="text" name="val1" value="<?php echo $val1; ?>">
        <select name="symbol" id="">
            <option value="+" <?php if($symbol == "+") { echo "selected"; } ?>>+</option>
            <option value="-" <?php if($symbol == "-") { echo "selected"; } ?>>-</option>
            <option value="*" <?php if($symbol == "*") { echo "selected"; } ?>>*</option>
            <option value="/" <?php if($symbol == "/") { echo "selected"; } ?>>/</option>
        </select>
        <input type="text" name="val2" value="<?php echo $val2; ?>">
        <input type="submit" value="提交">
        <input type="text" value="<?php echo $result; ?>">
    </form>
</body>
</html>

进制

// 十进制
$n = 123
// 八进制
$n = 0123
// 十六进制
$n = 0x123
进制转换

dec:十进制,bin:二进制,oct:八进制,hex:十六进制

// 十进制转二进制
decbin()
<?php 
    $v1 = decbin(123);
    echo $v1."其类型为:".getType($v1);;
?>
// 手工转换:除2取余倒着写
$v1 = 123;
123/2 > 61 余:1
61/2 > 30  余:1
30/2 > 15  余:0
15/2 > 7   余:1
7/2 > 3    余:1
3/2 > 1    余:1
1/2 > 0    余:1
// 十进制转八进制
<?php 
    $v1 = decoct(178);
    echo $v1;// 262
?>
// 手工转换:除8取余倒着写
$v1 = 178;
178/8  22  余:2
22/8   2   余:6
2/8    0   余:2
// 十进制转十六进制
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
<?php 
    $v1 = dechex(178);
    echo $v1;// b2
?>
// 手工转换:除16取余倒着写
178/16  11  余:2
11/16   0   余:11
// 二进制转十进制
1234 = 1x10 3+2x10 2+3x10 1+4x10 0
10001 = 1x10 4+0x10 3...+1x10 0

浮点数

1.23E3:1.23乘以10的3次方

字符串

// 单引号可以识别的两个转移符
\\
\'
// 双引号可以识别的转移字符有
\\
\"
\n
\r
\t
\$

数组

<?php 
    $arr1 = array("a", "b", 'c');
    foreach ($arr1 as $key => $value) {
        echo $key;
        echo $value."<br/>";
    }
?>

对象

<?php 
    class Person {
        public $name = "Aaayang";
        public $age = 18;
        public function introMe() {
            echo "hello world<br/>";
            echo "name:".$this -> name."<br/>";
            echo "age:".$this -> age;
        }
    }
    $person1 = new Person();
    $person1 -> name = "BBB";
    $person1 -> age = 22;
    $person1 -> introMe();
?>

资源类型

是指对外部数据(数据库,文件,图片等)的引用,非PHP代码生成的

类型转换

自动转换是弱类型语言最基本的一个特征

if(aaa) { ... }// 转换为Boolean类型
// 强制转换
$val = (int)7.8;

位运算符

位运算符都是针对整数的二进制形式进行的

按位与
1 & 1 => 1
1 & 0 => 0
0 & 1 => 0
0 & 0 => 0
按位或
1 | 1 => 1
1 | 0 => 1
0 | 1 => 1
0 | 0 => 0
按位非
~1 => 0
~0 => 1
异或
// 相同就是0,不同就是1
1 ^ 1 => 0
0 ^ 0 => 0
1 ^ 0 => 1
0 ^ 1 => 1
按位与(不分进制)
// A & B// A和B两个普通数字,其内部会按十进制进行计算,将每一对对应的二进制数字再进行&运算之后的结果
<?php 
    // 一个数字的二进制通常是32位的0和1的组合,也可能是64位,为了说明问题方便,我们用8位
    $r1 = 9 & 13;
    // 1001
    // 1101
    // ----
    // 1001    >   9
    echo $r1;// 9
?>
按位或(不分进制)
<?php 
    $num = 18 | 23;
    // 0001 0010
    // 0001 0111
    // ---------
    // 0001 0111   >   23
    echo $num;
?>
<?php 
    $val = 18 | 10;
    // 0001 0010
    // 0000 1010
    // ---------
    // 0001 1010   >   26
    echo $val;
?>
按位左移运算
// 形式:A << n,A被整体左移n位,可以是普通数字,但按二进制去运算
<?php 
    $val = 18 << 3;
    // 0001 0010,整体左移3位,移出的不要,空下来的补0,结果是1001 0000
    echo $val;// 144
?>
右移运算
// A >> 2,右边移出去的不管了,左边空出来的补符号位
<?php 
    $val = 9 >> 2;
    // 0000 1001
    // 0000 0010   >   二进制转10进制:1乘以2的一次方结果是2

    echo $val;// 2
?>
按位非
// 将一个数字的二进制的每一位进行取反得到的结果

按位异或
// 将一个数字的二进制的每一位进行异或得到的结果

原码、反码、补码

原码:原来的二进制码,但在实际的计算机运行过程中,常常不用原码,所以就有了补码,反码。一个二进制数的第一位是符号位,0表示整数,1表示负数。

反码:正数的反码是其本身,负数的反码就是将原码的非符号部分,每一位进行取反。

补码:正数的补码是其本身,负数的补码就是将原码的非符号部分,每一位进行取反后整体加1。
<?php 
    // 以8位为例子
    0000 0111   >   7   ->  正数的反码:0000 0111
    1000 0111   >   -7  ->  负数的反码:1111 1000

    0000 0111   >   7   ->  正数的补码不变
    1000 0111   >   -7  ->  负数的补码符号位不变,每一位取反后整体加1,1111 1000 -> 1111 1001
?>
<?php 
    $v1 = 5;// 即是原码,又是补码
    $v2 = 3;// 
    $r = $v1 + $v2;
    // cpu内部运算模拟实例:
    // 5:0000 0101
    // 3: 0000 0011
    // ------------
    // r: 0000 1000    >    1乘以2的3次方

    $num = $v1 - $v2;// $v1 + (-$v2),计算机中减去一个数是加一个负数

    // 5:0000 0101    >    5(即是原码有事补码)
    // 3: 1000 0011    >    3(即是原码有事补码)
    //-3: 1000 0011    >    (原码)
    //-3: 1111 1100    >    (反码) 
    //
    //    1111 1100
    //    +       1
    //    ---------
    //    1111 1101    >    (补码:负数的补码符号位不变,其余为取反后加1)
    // ------------
    // 0000 0101    >   5(补码)
    // 1111 1101    >   -3(补码)
    // ---------
    // 0000 0010    >   补码为2,则其原码也是2
?>
数据在CPU内部都是按补码进行运算
原码、反码、补码转换过程是系统内部的工作,且转换时符号位不变
用补码运算时(相减操作),符号位当做一个普通的二进制数参与运算

@

通常放在可能发生错误的前面抑制报错,例如连接数据库

@mysql_connect( ... ) or die("数据库连接失败")

sleep()

<?php
    echo date("Y-m-d H:i:s")."<br/>";
    sleep(10);
    echo date("Y-m-d H:i:s");
?>

文件加载

// 如果加载文件失败、重复则有不同的处理规则
include// 引用失败时,警告并继续
include_once
require// 引用失败时,警告并终止
require_once

include "文件路径"
include("文件路径")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,639评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,277评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,221评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,474评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,570评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,816评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,957评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,718评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,176评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,511评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,646评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,322评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,934评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,755评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,987评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,358评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,514评论 2 348

推荐阅读更多精彩内容

  • •1 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语...
    CONLYOUC阅读 8,698评论 9 66
  • 网站乱码问题我们会经常碰到,大多见于非英文的中文字符或其他字符乱码,而且,这类问题常常是因为编码方式问题,主要原因...
    波段顶底阅读 2,836评论 1 9
  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 646评论 0 0
  • 在长夜里辗转沉沦 好想说 等花 等树 等风月 也等你 等更好的自己 也等别人 最好是你,好怕不是你 不想强加我的感...
    风起飞过山河去阅读 187评论 0 0
  • 麻麻千挑万选的安全座椅,怕她不爱坐,从收到货就很有心机的让座椅跟她套近乎:一起取快递,一起拆箱,让座椅拟人跟她玩游...
    incat阅读 166评论 0 0