国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

php tricks

Karrdy / 1544人閱讀

摘要:存儲(chǔ)的文件是以來進(jìn)行命名的,文件的內(nèi)容就是值的序列話之后的內(nèi)容,。是鍵值,是的結(jié)果。使外部調(diào)用時(shí)只要知道這個(gè)方法的存在多態(tài)父類的方法繼承的到子類以后可以有不同的實(shí)現(xiàn)方式繼承書教材計(jì)算機(jī)類教材這就是現(xiàn)實(shí)世界的繼承關(guān)系。

1.函數(shù)并立即調(diào)用

    call_user_func(function(){
            echo "hello,world";
    });

2.上下文變量

    $context="hello,world";
    call_user_func(function()use($context){
        echo $context;
    });

3.use和$this

    class A {

     public  $t;
     public function  __construct($t="hello,world"){
         $this->t=$t;
     }

     function test(){

         call_user_func(function(){
                 echo $this->t;//php5.4+
         });
     }


 }


 $a=new A();
 $a->test();

class Hello {

    private $message = "Hello world
";

    public function createClosure() {
        return function() {
            echo $this->message;
        };
    }

}

class Bye {

    private $message = "Bye world
";

}

$hello = new Hello();
$helloPrinter = $hello->createClosure();
$helloPrinter(); // outputs "Hello world"
$bye = new Bye();
$byePrinter = $helloPrinter->bindTo($bye, $bye);//like javascript apply
$byePrinter(); // outputs "Bye world"

$CI = $this;
$callback = function () use (&$CI) {
$CI->public_method();
};

4.調(diào)用一切可調(diào)用的東西

    class Contrller{ 


    //調(diào)用具體的action,
    public function __act($action){
        call_user_func(
            array($this,$action) 
        ); //$this->{$action}()
    }

}

class HelloContrller extends Controller{ 

    public function index(){
    }

    public function hello(){
    }

    public function dance(){
    }

}

5.裝飾器

    //裝飾器
 $dec=function($func) {
     $wrap=function ()use ($func) {
     echo "before calling you do sth
";
     $func();
     echo "after calling you can do sth too
 ";
     };
     return $wrap;
 };

 //執(zhí)行某功能的函數(shù)
 $hello=function (){
     echo "hello
";
 };
 //裝飾
 $hello=$dec($hello);



 //在其他地方調(diào)用經(jīng)過裝飾的原函數(shù)
 $hello(); 

/*output:
before calling you do sth
hello
after calling you can do sth too
*/ 

6.object

$obj = new stdClass;
$obj->a = 1;
$obj->b = 2;

7.static

class father
{
    public function __construct()
    {
        // $this->init();
      static::init();
    }

    private function init()
    {
        echo "father
";
    }
}

class son extends father
{
    /*public function __construct()
    {
        $this->init();
    }*/
    public function init()
    {
        echo "son
";
    }
}

$son  = new son();
son::init();//son

8.list explode

    list( , $mid) = explode(";", "aa;bb;cc");
    echo $mid; //輸出 bb

9.object array

    $array = json_decode(json_encode($deeply_nested_object), true);
    //$array =  (array) $yourObject;
    function object_to_array($data){
    if (is_array($data) || is_object($data))
    {
        $result = array();
        foreach ($data as $key => $value)
        {
            $result[$key] = object_to_array($value);
        }
        return $result;
    }
    return $data;
}

10.tree

    function displayTree($array){
      $newline = "
"; $output = ""; foreach($array as $key => $value) { if (is_array($value) || is_object($value)) { $value = "Array()" . $newline . "(
    " . $this->displayTree($value) . "
)" . $newline; } $output .= "[$key] => " . $value . $newline; } return $output; }

11.交換變量
list($a, $b) = array($b, $a);
12.PHP中SESSION反序列化機(jī)制

修改php系列化的引擎, ini_set("session.serialize_handler", "需要設(shè)置的引擎");ini_set("session.serialize_handler", "php_serialize");默認(rèn)是以文件的方式存儲(chǔ)。
存儲(chǔ)的文件是以sess_sessionid來進(jìn)行命名的,文件的內(nèi)容就是session值的序列話之后的內(nèi)容,name|s:6:"spoock";。name是鍵值,s:6:"spoock";是serialize("spoock")的結(jié)果。
13.php-fpm

vi /etc/php-fpm.d/www.conf

TPC socket

listen = 127.0.0.1:9000
Unix Domain Socket (Apache 2.4.9+)
listen = /var/run/php-fpm/php-fpm.sock

沒有sock文件的話先設(shè)置listen = /var/run/php-fpm/php-fpm.sock,然后重啟下php-fpm就有了
14.php和js數(shù)組區(qū)別

JS:數(shù)組屬于引用類型值,存儲(chǔ)在堆中https://www.zhihu.com/questio...
var a = {"Client":"jQuery","Server":"PHP"};
var b = a;
a["New"] = "Element";
console.log(b);
// 輸出 Object { Client="jQuery", Server="PHP", New="Element"}

PHP例程1:
$a = array("Client"=>"jQuery","Server"=>"PHP");
$b = $a;
$a["New"] = "Element";
var_export($b);
//輸出 array("Client"=>"jQuery","Server"=>"PHP")

PHP例程2:
$a = array("Client"=>"jQuery","Server"=>"PHP");
$b = &$a; //引用賦值
$a["New"] = "Element";
var_export($b);
//輸出 array("Client"=>"jQuery","Server"=>"PHP","New"=>"Element")
PHP對(duì)象默認(rèn)是引用賦值,而不是值復(fù)制:
class foo {

public $bar = "php";

}
$foo = new foo();
$tmp = $foo;//$tmp = clone $foo;值復(fù)制
$tmp->bar = "sql";
echo $foo->bar."n"; //輸出sql
15.編碼
“中”這個(gè)漢字在UTF-8的16進(jìn)制編碼是0xe4,0xb8,0xad
因此在雙引號(hào)字符串中,會(huì)被轉(zhuǎn)義為 “中” x開頭表示這是一個(gè)以十六進(jìn)制表達(dá)的字符,就和HTML中&xe4; 一樣 PHP中的字符串就是直接本地編碼二進(jìn)制存儲(chǔ)的
單引號(hào)字符串中,直接輸出xe4xb8xad
$str1 = "xe4xb8xad";中

$str2 = "xe4xb8xad";xe4xb8xad

$str3 = "中";
16.數(shù)據(jù)庫連接
new mysqli時(shí)通過p:127.0.0.1來表示使用持久連接,里面的p就是persistent持久的意思
function db() {

static $db; //靜態(tài)變量
if ($db) {
    return $db;
} else {
    $db = new mysqli("p:127.0.0.1","user","pass","dbname",3306);
    return $db;
}

}
function foo1() {

return db()->query("SELECT * FROM table1")->fetch_all();

}
function foo2() {

return db()->query("SELECT * FROM table2")->fetch_all();

}
var_export( foo1() );
var_export( foo2() );

function db() {

static $db; //靜態(tài)變量
if ($db) { return $db; } 
else { $db = uniqid(mt_rand(), true); return $db; }

}
function foo1() { return db(); }
function foo2() { return db(); }
echo foo1()."n";
echo foo2()."n";
17 面向?qū)ο?br>繼承:可以使子類復(fù)用父類公開的變量、方法;
封裝:屏蔽一系列的細(xì)節(jié)。使外部調(diào)用時(shí)只要知道這個(gè)方法的存在;
多態(tài):父類的方法繼承的到子類以后可以有不同的實(shí)現(xiàn)方式;
繼承:書 & 教材 & 計(jì)算機(jī)類教材 —— 這就是現(xiàn)實(shí)世界的繼承關(guān)系。
封裝:手機(jī) —— 它是封裝好的,當(dāng)你使用它時(shí),不必知道里面的電路邏輯。
多態(tài):人.看(美女) & 人.看(強(qiáng)光) —— 參數(shù)類型不一樣,執(zhí)行的也不一樣。
https://segmentfault.com/a/11...
18.數(shù)字前自動(dòng)補(bǔ)0
$a = 1;
echo sprintf("%02d", $a);//輸出該數(shù)字,若十位、個(gè)位為空或0,自動(dòng)補(bǔ)零
$a = "01";
echo sprintf("%d", $a);//去0
function addZ(a){

return ("0" + a).slice(-2);

}
19.html5 使用 Content-Security-Policy 安全策略
與ios 交互使用jsbridge庫需要添加信任的frame-src
; style-src "self" http://.xxx.com "unsafe-inline"; script-src "self" "unsafe-inline" "unsafe-eval" http://.xxx.com;">
20.php數(shù)組轉(zhuǎn)js數(shù)組
var mapRegion =
21.浮點(diǎn)數(shù)精度 四舍六入五成雙

銀行家舍入 的方法,即:

舍去位的數(shù)值小于5時(shí),直接舍去;
舍去位的數(shù)值大于等于6時(shí),進(jìn)位后舍去;
當(dāng)舍去位的數(shù)值等于5時(shí),分兩種情況:5后面還有其他數(shù)字(非0),則進(jìn)位后舍去;若5后面是0(即5是最后一位),則根據(jù)5前一位數(shù)的奇偶性來判斷是否需要進(jìn)位,奇數(shù)進(jìn)位,偶數(shù)舍去。
49.6101 -> 50
49.499 -> 49
49.50921 -> 50
48.50921 -> 48
48.5101 -> 49
function tail($num, $fen) {

$avg  = bcdiv($num, $fen, 2); //除
$tail = bcsub($num, $avg*($fen-1), 2); //減
echo $num."=".str_repeat($avg."+", $fen-1).$tail."
";
echo "$num=$avg*($fen-1)+$tail
";
return array($avg, $tail);

}
var_export(tail(100, 3));
var_export(tail(100, 6));
//輸出:
100=33.33+33.33+33.34
100=33.33*(3-1)+33.34
array (
0 => "33.33",
1 => "33.34",
)
100=16.66+16.66+16.66+16.66+16.66+16.70
100=16.66*(6-1)+16.70
array (
0 => "16.66",
1 => "16.70",
)
來自
知乎
http://stackoverflow.com/ques...
http://stackoverflow.com/ques...
https://www.quora.com/What-ar...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/20974.html

相關(guān)文章

  • Learning PHP —— 設(shè)計(jì)模式 | Chap1:淺談設(shè)計(jì)模式中的OOP

    摘要:而哈士奇區(qū)別于普通狗,又有新的特征逗比,愛搗亂為了保證類之間的松綁定,通常會(huì)繼承抽象類,而且是淺繼承只有一層子類。如果知道所有類都會(huì)共享一個(gè)公共的行為實(shí)現(xiàn),就使用抽象類,并在其中實(shí)現(xiàn)該行為。 為什么使用OOP OOP是一個(gè)模塊化的過程,目的是為了把復(fù)雜問題簡單化,一個(gè)模塊解決一個(gè)復(fù)雜問題的某一個(gè)方面,即一個(gè)類應(yīng)當(dāng)只有一個(gè)職責(zé) OOP區(qū)別于順序式編程與過程式編程,在于: 1.順序編程...

    SunZhaopeng 評(píng)論0 收藏0
  • Nodejs中的一些小trick

    摘要:要達(dá)到想要的效果正確的做法是即用來產(chǎn)生一個(gè)立即作用域,保證回調(diào)函數(shù)執(zhí)行的時(shí)候最近的原型作用域的就是當(dāng)時(shí)循環(huán)的。判斷數(shù)組中是否存在滿足條件的項(xiàng),只要有一項(xiàng)滿足條件,就會(huì)返回。 之前常常因?yàn)椴蛔⒁猓?xí)慣用寫PHP或者Java的方式來寫nodejs,產(chǎn)生了了一些錯(cuò)誤,這里總結(jié)一些小小的trick,以便于展示nodejs的不同,和平時(shí)需要注意的地方。 變量提升 var variable = g...

    tomorrowwu 評(píng)論0 收藏0
  • python 類和元類(metaclass)的理解和簡單運(yùn)用

    摘要:什么是元類剛才說了,元類就是創(chuàng)建類的類。類上面的屬性,相信愿意了解元類細(xì)節(jié)的盆友,都肯定見過這個(gè)東西,而且為之好奇。使用了這個(gè)魔法方法就意味著就會(huì)用指定的元類來創(chuàng)建類了。深刻理解中的元類 (一) python中的類 今天看到一篇好文,然后結(jié)合自己的情況總結(jié)一波。這里討論的python類,都基于python2.7x以及繼承于object的新式類進(jìn)行討論。 首先在python中,所有東西都...

    zhangqh 評(píng)論0 收藏0
  • Python Tricks 若干

    摘要:在代碼中可以看到一些常見的,在這里做一個(gè)簡單的小結(jié)。的妙用在某些場景下我們需要判斷我們是否是從一個(gè)循環(huán)中跳出來的,并且只針對(duì)跳出的情況做相應(yīng)的處理。這時(shí)候我們通常的做法是使用一個(gè)變量來標(biāo)識(shí)是否是從循環(huán)中跳出的。 在 python 代碼中可以看到一些常見的 trick,在這里做一個(gè)簡單的小結(jié)。 json 字符串格式化 在開發(fā) web 應(yīng)用的時(shí)候經(jīng)常會(huì)用到 json 字符串,但是一段比...

    lovXin 評(píng)論0 收藏0
  • Python學(xué)習(xí)之路3-操作列表

    摘要:本章內(nèi)容主要是對(duì)列表的進(jìn)一步操作,以及初識(shí)元組數(shù)據(jù)結(jié)構(gòu)。列表非常適合用于存儲(chǔ)在程序運(yùn)行期間可能變化的數(shù)據(jù)集,列表可以被修改。代碼結(jié)果相比于列表,元組是更簡單的數(shù)據(jù)結(jié)構(gòu)。 《Python編程:從入門到實(shí)踐》筆記。本章內(nèi)容主要是對(duì)列表的進(jìn)一步操作,以及初識(shí)元組數(shù)據(jù)結(jié)構(gòu)。 1. 遍歷列表 本章主要是for循環(huán): # 代碼: magicians = [alice, david, carolin...

    makeFoxPlay 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<