第64+65讲 函数基本数据类型和数组方式 成员方法

函数基本数据类型和数组方式 成员方法

函数方法 内部参数 如果 想要更新生效 需要加上地址符 & 这样 可以刷新栈内值 而不会重新开辟栈

如此这般:

function test(&$变量名){

}

在php中,如果函数传递的是一个数组,则默认情况下是传值(copy了新的数组),如果希望传入地址,那么 同上 需要加上地址符
数组代码效果示例:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
  <?php
    $arrays = array(1,2,3,4,5,6);
    function changeArray($arrs){
        var_dump($arrs);
        $arrs[0] = 5;
        echo "<br/>";
        var_dump($arrs);
        echo "<br/>";
    }
    changeArray($arrays);
    var_dump($arrays);

    echo "<br/>";
    echo "<br/>";

    $arrays2 = array(1,2,3,4,5,6);
    function changeArray2(&$arrs){
        var_dump($arrs);
        $arrs[0] = 5;
        echo "<br/>";
        var_dump($arrs);
        echo "<br/>";
    }
    changeArray2($arrays2);
    var_dump($arrays2);
?>

 </body>
</html>

对象

<?php
    class Person{
        public $name;
        public $age;

        public function nextLine(){
            echo "<br/>";
        }
        public function speak(){
            echo "说句话~~~!!";
        }
        public function count1($count){
            $res = 0;
            for($i=0;$i<$count;$i++){
                $res+=$i;
            }
            return $res;
        }
        public function count2($count){
            $res = 0;
            for($i=0;$i<$count;$i++){
                $res+=$i;
            }
            return $res;
        }
    }
    $p = new Person();
    $p ->name="李白";
    $p->age="100";
    $p -> speak();
    $p-> nextLine();
    $res = $p->count1(100);
    echo "res ".$res;
    $p->age=$res;
    $p->nextLine();
    echo "age".$p->age;
    $p->nextLine();

    $p->age = $p->count1(10010);
    $p->nextLine();
    echo "age ".$p->age;

?>

结果输出:

说句话~~~!!
res 4950
age4950
age 50095045

so对象自身函数可以即时调用。

NOTICE

注意书写方式,各种掉字段。 php 这设计有点反人类。(⊙o⊙)…

demo:
效果图:
image
image

NOTICE 如果界面有四则运算 圆形 矩形 计算 我们可以使用隐藏域 在$_REQUEST标记接收。 ==参考第60讲==

CatView.php

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
    <form method="post" action="CatWork.php">
        <h1>四则运算</h1>
        第一个数:<input type="text" name="num1"/>
        <br/>
        第二个数:<input type="text" name="num2"/>
        <br/>
        运算符号:
        <select name="oper">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select>
        <br/>
        <input type="submit" value="提交">
    </form>
 </body>
</html>

CatWork.php

<?php
    require_once "Cat.php";
    $num1 = $_REQUEST['num1'];
    $num2 = $_REQUEST['num2'];
    $oper = $_REQUEST['oper'];
    echo "num1=".$num1." num2=".$num2." oper ".$oper;

    $cat = new Cat();
    $cat->last = $cat->getLast($num1,$num2,$oper);

    echo "cat-last的值".$cat->last;
?>

Cat.php

<?php
    class Cat{
        public $last;
        public function getLast($one,$two,$fuhao){
            echo "one ".$one." two ".$two." $fuhao ".$fuhao;
            $res = 0;
            switch($fuhao){
                case "+":
                    $res = $one + $two;
                    break;
                case "-";
                    $res = $one - $two;
                    break;
                case "*";
                    $res = $one * $two;
                    break;
                case "/";
                    $res = $one / $two;
                    break;
            }
            return $res;
        }

    }
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有时有晌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值