今天的学习

今天学到了PHP分割字符串:explode("xx","??");xx规定在哪里分割字符串,??是将要被分割的字符串javascript

json,先后端交互,示例代码:php

function getArray()   {   
          var arr = ["Jarry",23, ["www.xiaophper.com","wxyh_999@126.com"]]; 
          alert(arr[0]);  
          alert(arr[1]);  
          alert(arr[2][0]);  
          alert(arr[2][1]); 
  }  
         getArray();
function getUser() {
    var user = {
       "username": "Eric",
       "age":23,
       "family": {"mother":"Marry","father":"Alon","brother":"Tom"}
    };
    alert( user.username );
    alert( user.age );
    alert(user.family.brother);
}   getUser();
$(".imageBlock").html() //获取class为imageBlock标签里的全部内容,包含imageBlock标签内的HTML标签
$(".forPicture").val() //获取class为forPicture的input里的value值

查阅了一下文档,获取html代码/文本/值的jquery方法有三个,分别是:css

html(); 取得第一个匹配元素的html内容html

text(); 取得全部匹配元素的内容java

val(); 得到匹配元素的当前值。jquery

在使用这三个方法以前,须要先获取一个jquery对象,获取方式以下:json

$(选择器)后端

$(document).ready(function(){
  $("#btn1").click(function(){
    $("#test1").text("Hello world!");
  });
  $("#btn2").click(function(){
    $("#test2").html("<b>Hello world!</b>");
  });
  $("#btn3").click(function(){
    $("#test3").val("Dolly Duck");
  });
});

今天遇到一个问题,就是动态添加的html标签,不会被css所做用,因此只能在动态添加时的html标签里,加上style属性,来达到更改动态添加html样式的目的。测试

PHP中的魔术方法:this

一、__set();该方法的做用是在程序运行过程当中为私有的成员属性设置值,不须要有任何返回值。它须要设置两个参数,第一个参数须要传入在为私有属性设置值时的属性名,第二个参数则是须要传入私有属性的值。不须要主动调用

class person {
    private $name;
    private $sex;

    public function __construct($name="",$sex="") {
        $this->name = $name;
        $this->sex = $sex;
    }

    public function __set($propertyName,$propertyValue) {
        if($propertyName == "sex"){
              if(!(propertyValue == "男" || propertyValue == "女"))
                   return;
        }
    $this->propertyName = $propertyValue;
    }

    public function say(){
        echo "个人名字:".$this->name.",性别:".$this->sex."。"
    }
}

$person = new person("张三","男");

$person->name = "李四";
$person->sex = "女";

$person->say();




输出结果:个人名字:李四,性别:女。

二、__get();该方法的做用是在程序运行过程当中,能够在对象的外部获取私有成员属性的值,有一个必选参数,须要传入在获取私有属性值时的属性名,斌个返回一个值;

class person {
 private $name;
    private $sex;

    public function __construct($name="",$sex="") {
        $this->name = $name;
        $this->sex = $sex;
    }
 private __get($propertyName){
    if($propertyName == "sex"){
         return "保密";
    } else {
         return $this->$propertyName;
    }
 }
}

$person = new person("张三","男");

echo "姓名:".$person->name."<br>";
echo "性别:".$person->sex."<br>";

输出结果:
姓名:张三
性别:保密

三、isset();isset是判断一个变量是否认义过,即便它没有值,返回值也是true,好比$name="";或var $name,那么if(isset($name))echo 1,它也会输出1,由于$name被定义了,但if($name!="")echo 1;或if(!empty($name))echo 1,它就不会输出1,由于$name虽然被定义了,但它是空的。

四、unset();销毁指定的变量,能够销毁指定对象或者指定对象的可见属性(public)当 用unset方法销毁对象的不可见属性时,  会引起 __unset()方法;

五、__toString();快速获取对象的字符串表示的最便捷的方式,是在直接输出对象引用时自动调用的方法。

class TestClass {
   private $foo;   //在类中声明一个成员方法

   function __construct($foo){    //经过构造方法传值为成员属性赋初始值
        $this->foo = $foo;        //为成员属性赋值
   }

   public function __toString(){  //在类中定义一个__toString方法
        return $this->foo;        //返回一个成员属性$foo的值
   }
}

$obj = new TestClass('hello');    //建立一个对象并赋值给对象引用obj

echo $obj;                        //直接输出对象引用并自动调用了对象中__toString()方法输出hello;

此方法必须返回一个字符串,不然将发出一条致命错误。

当咱们调试程序时,须要知道是否得出正确的数据。好比打印一个对象时,看看这个对象都有哪些属性,其值是什么,若是类定义了toString方法,就能在测试时,echo打印对象体,对象就会自动调用它所属类定义的toString方法,输出这个对象所包含的数据。

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息