close

1.序列化serialize 反序列化 json_decode,unserialize

序列化是指將物件轉成字符串,可傳到db或其他電腦

反序列化 字符串轉成物件

2.

mysql_insert_id 返回 上一步插資料的id

 

pdo的$a->lastInsertId();

 

<?php
try {
    $a=new PDO('mysql:host=localhost;dbname=a;','root','ab789789');
    $b=[5,6,7];
     $b=serialize($b);
    $a->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$c=$a->query("select *from a where id=15");
$d=1;
foreach($c as $row){

    echo $d; 
    print_r( unserialize($row['c']));
    echo $row['id'];

    $d++;
}
$a->query("insert into a(c) values('ilsovde')");
echo $a->lastInsertId();


} catch (Exception $e) {
    var_dump($e->getMessage());
    
}

3. 当数组值包含如双引号、单引号或冒号等字符时,它们被反序列化后,可能会出现问题。为了克服这个问题,一个巧妙的技巧是使用base64_encode和base64_decode。

$obj = array();
//序列化
$s = base64_encode(serialize($obj)); 
//反序列化
$original = unserialize(base64_decode($s)); 

4.

 

echo gzcompress('data',);
ECHO '=======';

echo gzdeflate('data',1);
ECHO '=======';
echo gzencode('data',1,ZLIB_ENCODING_RAW);

有三個演算法

gzip >zlib 都是基於defalte

zlib:   ZLIB_ENCODING_DEFLATE   
gzip: ZLIB_ENCODING_GZIP
deflate: ZLIB_ENCODING_RAW

5.strcmp比較字符串 大小寫

strcmp(1,1) 印出1代表相同

印出0則否

6.var_export,eval,var_dump

<?php
var_dump([1,2,3]);//印出型態
$s=var_export([1,2,3],true);//印出字符串方式,要true才行
echo $s;
eval('$a=' . $s . ';');
print_r($a);

7.

 


 

arrow
arrow
    全站熱搜

    學習程式 發表在 痞客邦 留言(0) 人氣()