论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
逆向
[7627] 2021-07-01_经验分享PHP-反序列化(超细的)
文档创建者:
s7ckTeam
浏览次数:
8
最后更新:
2025-01-17
逆向
8 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前在线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2021-07-01_经验分享PHP-反序列化(超细的)
经
验
分
享
|
P
H
P
-
反
序
列
化
(
超
细
的
)
原
创
s
p
a
c
e
m
a
n
F
1
2
s
e
c
2
0
2
1
-
0
7
-
0
1
这
是
F
1
2
s
e
c
的
第
6
0
篇
原
创
申
明
申
明
:
本
次
测
试
只
作
为
学
习
用
处
,
请
勿
未
授
权
进
行
渗
透
测
试
,
切
勿
用
于
其
它
用
途
!
:
本
次
测
试
只
作
为
学
习
用
处
,
请
勿
未
授
权
进
行
渗
透
测
试
,
切
勿
用
于
其
它
用
途
!
p
s
:
很
多
小
伙
伴
都
催
更
了
,
先
跟
朋
友
们
道
个
歉
,
摸
鱼
太
久
了
,
哈
哈
哈
,
今
天
就
整
理
一
下
大
家
遇
到
比
较
多
的
p
h
p
反
序
列
化
,
经
常
在
c
t
f
中
看
到
,
还
有
就
是
审
计
的
时
候
也
会
需
要
,
这
里
我
就
细
讲
一
下
,
我
建
议
大
家
自
己
复
制
源
码
去
搭
建
运
行
,
只
有
自
己
去
好
好
理
解
,
好
好
利
用
了
才
更
好
的
把
握
,
才
能
更
快
的
找
出
p
o
p
链
子
,
首
先
呢
反
序
列
化
最
重
要
的
就
是
那
些
常
见
的
魔
法
函
数
,
很
多
小
伙
伴
都
不
知
道
这
个
魔
法
函
数
是
干
啥
的
,
今
天
我
就
一
个
一
个
,
细
致
的
讲
讲
一
些
常
见
的
魔
法
函
数
,
以
及
最
后
拿
一
些
c
t
f
题
举
例
,
刚
开
始
需
要
耐
心
的
看
,
谢
谢
大
家
的
关
注
,
我
会
更
努
力
的
。
1
.
正
文
正
文
常
见
的
P
H
P
魔
术
方
法
:
发
现
目
标
主
机
1
9
2
.
1
6
8
.
6
4
.
1
3
7
_
_
C
O
N
S
T
R
U
C
T
与
与
_
_
D
E
S
T
R
U
C
T
_
_
c
o
n
s
t
r
u
c
t
:
在
创
建
对
象
时
候
初
始
化
对
象
,
一
般
用
于
对
变
量
赋
初
值
。
_
_
d
e
s
t
r
u
c
t
:
和
构
造
函
数
相
反
,
当
对
象
所
在
函
数
调
用
完
毕
后
执
行
。
_
_
C
A
L
L
_
_
c
a
l
l
:
当
调
用
对
象
中
不
存
在
的
方
法
会
自
动
调
用
该
方
法
。
调
用
某
个
方
法
,
若
方
法
存
在
,
则
直
接
调
用
;
若
不
存
在
,
则
会
去
调
用
_
_
c
a
l
l
函
数
。
例
:
例
:
_
_
c
o
n
s
t
r
u
c
t
:
在
创
建
对
象
时
候
初
始
化
对
象
,
一
般
用
于
对
变
量
赋
初
值
。
_
_
d
e
s
t
r
u
c
t
:
和
构
造
函
数
相
反
,
当
对
象
所
在
函
数
调
用
完
毕
后
执
行
。
_
_
c
a
l
l
:
当
调
用
对
象
中
不
存
在
的
方
法
会
自
动
调
用
该
方
法
。
_
_
g
e
t
(
)
:
获
取
对
象
不
存
在
的
属
性
时
执
行
此
函
数
。
_
_
s
e
t
(
)
:
设
置
对
象
不
存
在
的
属
性
时
执
行
此
函
数
。
_
_
t
o
S
t
r
i
n
g
:
当
对
象
被
当
做
一
个
字
符
串
使
用
时
调
用
。
_
_
s
l
e
e
p
:
序
列
化
对
象
之
前
就
调
用
此
方
法
(
其
返
回
需
要
一
个
数
组
)
_
_
w
a
k
e
u
p
:
反
序
列
化
恢
复
对
象
之
前
调
用
该
方
法
_
_
i
s
s
e
t
(
)
:
在
不
可
访
问
的
属
性
上
调
用
i
s
s
e
t
(
)
或
e
m
p
t
y
(
)
触
发
_
_
u
n
s
e
t
(
)
:
在
不
可
访
问
的
属
性
上
使
用
u
n
s
e
t
(
)
时
触
发
_
_
i
n
v
o
k
e
(
)
:
将
对
象
当
作
函
数
来
使
用
时
执
行
此
方
法
&
l
t
;
?
p
h
p
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
n
a
m
e
;
p
u
b
l
i
c
$
a
g
e
;
p
u
b
l
i
c
$
s
t
r
i
n
g
;
/
/
_
_
c
o
n
s
t
r
u
c
t
:
实
例
化
对
象
时
被
调
用
.
其
作
用
是
拿
来
初
始
化
一
些
值
。
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
n
a
m
e
,
$
a
g
e
,
$
s
t
r
i
n
g
)
{
e
c
h
o
"
_
_
c
o
n
s
t
r
u
c
t
初
始
化
"
.
"
&
l
t
;
b
r
>
"
;
$
t
h
i
s
-
>
n
a
m
e
=
$
n
a
m
e
;
$
t
h
i
s
-
>
a
g
e
=
$
a
g
e
;
$
t
h
i
s
-
>
s
t
r
i
n
g
=
$
s
t
r
i
n
g
;
}
/
/
_
_
d
e
s
t
r
u
c
t
:
当
删
除
一
个
对
象
或
对
象
操
作
终
止
时
被
调
用
。
其
最
主
要
的
作
用
是
拿
来
做
垃
圾
回
收
机
制
。
/
*
*
当
对
象
销
毁
时
会
调
用
此
方
法
*
一
是
用
户
主
动
销
毁
对
象
,
二
是
当
程
序
结
束
时
由
引
擎
自
动
销
毁
*
/
f
u
n
c
t
i
o
n
_
_
d
e
s
t
r
u
c
t
(
)
{
e
c
h
o
"
_
_
d
e
s
t
r
u
c
t
类
执
行
完
毕
"
.
"
&
l
t
;
b
r
>
"
;
}
}
/
/
主
动
销
毁
$
t
e
s
t
=
n
e
w
T
e
s
t
(
"
S
p
a
c
e
m
a
n
"
,
5
6
6
,
'
T
e
s
t
S
t
r
i
n
g
'
)
;
u
n
s
e
t
(
$
t
e
s
t
)
;
/
/
主
动
销
毁
先
执
行
_
_
d
e
s
t
r
u
c
t
再
执
行
下
面
的
e
c
h
o
e
c
h
o
'
5
6
6
'
.
'
&
l
t
;
b
r
>
'
;
e
c
h
o
'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
&
l
t
;
b
r
>
'
;
/
/
程
序
结
束
自
动
销
毁
$
t
e
s
t
=
n
e
w
t
e
s
t
(
"
S
p
a
c
e
m
a
n
"
,
5
6
6
,
'
T
e
s
t
S
t
r
i
n
g
'
)
;
/
/
自
动
销
毁
先
执
行
下
面
的
e
c
h
o
,
程
序
结
束
才
执
行
_
_
d
e
s
t
r
u
c
t
e
c
h
o
'
6
6
6
'
.
'
&
l
t
;
b
r
>
'
;
?
>
运
行
结
果
:
_
_
c
o
n
s
t
r
u
c
t
初
始
化
_
_
d
e
s
t
r
u
c
t
类
执
行
完
毕
5
6
6
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
_
_
c
o
n
s
t
r
u
c
t
初
始
化
6
6
6
_
_
d
e
s
t
r
u
c
t
类
执
行
完
毕
<
?
p
h
p
_
_
G
E
T
(
)
_
_
g
e
t
(
)
:
访
问
不
存
在
的
成
员
变
量
时
调
用
的
;
用
来
获
取
私
有
属
性
读
取
一
个
对
象
的
属
性
时
,
若
属
性
存
在
,
则
直
接
返
回
属
性
值
;
若
不
存
在
,
则
会
调
用
_
_
g
e
t
函
数
。
例
:
例
:
_
_
S
E
T
(
)
_
_
s
e
t
(
)
:
设
置
不
存
在
的
成
员
变
量
时
调
用
的
;
设
置
一
个
对
象
的
属
性
时
,
若
属
性
存
在
,
则
直
接
赋
值
;
若
不
存
在
,
则
会
调
用
_
_
s
e
t
函
数
。
例
:
例
:
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
f
u
n
c
t
i
o
n
g
o
o
d
(
$
n
u
m
b
e
r
,
$
s
t
r
i
n
g
)
{
e
c
h
o
'
存
在
g
o
o
d
方
法
'
.
'
<
b
r
>
'
;
e
c
h
o
$
n
u
m
b
e
r
.
'
-
-
-
-
-
-
-
-
-
'
.
$
s
t
r
i
n
g
.
'
<
b
r
>
'
;
}
/
/
当
调
用
类
中
不
存
在
的
方
法
时
,
就
会
调
用
_
_
c
a
l
l
(
)
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
a
l
l
(
$
m
e
t
h
o
d
,
$
a
r
g
s
)
{
e
c
h
o
'
不
存
在
'
.
$
m
e
t
h
o
d
.
'
方
法
'
.
'
<
b
r
>
'
;
v
a
r
_
d
u
m
p
(
$
a
r
g
s
)
;
}
}
$
a
=
n
e
w
T
e
s
t
(
)
;
$
a
-
>
g
o
o
d
(
5
6
6
,
'
n
i
c
e
'
)
;
$
b
=
n
e
w
T
e
s
t
(
)
;
$
b
-
>
s
p
a
c
e
m
a
n
(
8
9
9
,
'
n
o
'
)
;
?
>
<
?
p
h
p
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
n
=
1
2
3
;
/
/
_
_
g
e
t
(
)
:
访
问
不
存
在
的
成
员
变
量
时
调
用
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
g
e
t
(
$
n
a
m
e
)
{
e
c
h
o
'
_
_
g
e
t
不
存
在
成
员
变
量
'
.
$
n
a
m
e
.
'
<
b
r
>
'
;
}
}
$
a
=
n
e
w
T
e
s
t
(
)
;
/
/
存
在
成
员
变
量
n
,
所
以
不
调
用
_
_
g
e
t
e
c
h
o
$
a
-
>
n
;
e
c
h
o
'
<
b
r
>
'
;
/
/
不
存
在
成
员
变
量
s
p
a
c
e
m
a
n
,
所
以
调
用
_
_
g
e
t
e
c
h
o
$
a
-
>
s
p
a
c
e
m
a
n
;
运
行
结
果
:
1
2
3
_
_
g
e
t
不
存
在
成
员
变
量
s
p
a
c
e
m
a
n
<
?
p
h
p
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
d
a
t
a
=
1
0
0
;
p
r
o
t
e
c
t
e
d
$
n
o
w
a
y
=
0
;
/
/
_
_
s
e
t
(
)
:
设
置
对
象
不
存
在
的
属
性
或
无
法
访
问
(
私
有
)
的
属
性
时
调
用
/
*
_
_
s
e
t
(
$
n
a
m
e
,
$
v
a
l
u
e
)
*
用
来
为
私
有
成
员
属
性
设
置
的
值
*
第
一
个
参
数
为
你
要
为
设
置
值
的
属
性
名
,
第
二
个
参
数
是
要
给
属
性
设
置
的
值
,
没
有
返
回
值
。
*
/
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
s
e
t
(
$
n
a
m
e
,
$
v
a
l
u
e
)
{
e
c
h
o
'
_
_
s
e
t
不
存
在
成
员
变
量
'
.
$
n
a
m
e
.
'
<
b
r
>
'
;
e
c
h
o
'
即
将
设
置
的
值
'
.
$
v
a
l
u
e
.
"
<
b
r
>
"
;
$
t
h
i
s
-
>
n
o
w
a
y
=
$
v
a
l
u
e
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
G
e
t
(
)
{
e
c
h
o
$
t
h
i
s
-
>
n
o
w
a
y
;
}
}
$
a
=
n
e
w
T
e
s
t
(
)
;
/
/
读
取
n
o
w
a
y
的
值
,
初
始
为
0
$
a
-
>
G
e
t
(
)
;
e
c
h
o
'
<
b
r
>
'
;
/
/
无
法
访
问
(
私
有
)
n
o
w
a
y
属
性
时
调
用
,
并
设
置
值
为
8
9
9
$
a
-
>
n
o
w
a
y
=
8
9
9
;
_
_
s
e
t
不
存
在
成
员
变
量
n
o
w
a
y
即
将
设
置
的
值
8
9
9
8
9
9
_
_
s
e
t
不
存
在
成
员
变
量
s
p
a
c
e
m
a
n
即
将
设
置
的
值
5
6
6
5
6
6
_
_
g
e
t
与
与
_
_
s
e
t
例
:
例
:
_
_
T
O
S
T
R
I
N
G
(
)
_
_
t
o
S
t
r
i
n
g
(
)
:
在
对
象
当
做
字
符
串
的
时
候
会
被
调
用
。
例
:
例
:
/
/
经
过
_
_
s
e
t
方
法
的
设
置
n
o
w
a
y
的
值
为
8
9
9
$
a
-
>
G
e
t
(
)
;
e
c
h
o
'
<
b
r
>
'
;
/
/
设
置
对
象
不
存
在
的
属
性
s
p
a
c
e
m
a
n
$
a
-
>
s
p
a
c
e
m
a
n
=
5
6
6
;
/
/
经
过
_
_
s
e
t
方
法
的
设
置
n
o
w
a
y
的
值
为
5
6
6
$
a
-
>
G
e
t
(
)
;
?
>
运
行
结
果
:
0
<
?
p
h
p
c
l
a
s
s
P
e
r
s
o
n
{
p
r
i
v
a
t
e
$
n
a
m
e
;
p
r
i
v
a
t
e
$
s
e
x
;
p
r
i
v
a
t
e
$
a
g
e
;
/
/
_
_
g
e
t
(
)
方
法
用
来
获
取
私
有
属
性
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
g
e
t
(
$
p
r
o
p
e
r
t
y
_
n
a
m
e
)
{
e
c
h
o
"
在
直
接
获
取
私
有
属
性
值
的
时
候
,
自
动
调
用
了
这
个
_
_
g
e
t
(
)
方
法
<
b
r
>
"
;
i
f
(
i
s
s
e
t
(
$
t
h
i
s
-
>
$
p
r
o
p
e
r
t
y
_
n
a
m
e
)
)
{
r
e
t
u
r
n
(
$
t
h
i
s
-
>
$
p
r
o
p
e
r
t
y
_
n
a
m
e
)
;
}
e
l
s
e
{
r
e
t
u
r
n
(
N
U
L
L
)
;
}
}
/
/
_
_
s
e
t
(
)
方
法
用
来
设
置
私
有
属
性
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
s
e
t
(
$
p
r
o
p
e
r
t
y
_
n
a
m
e
,
$
v
a
l
u
e
)
{
e
c
h
o
"
在
直
接
设
置
私
有
属
性
值
的
时
候
,
自
动
调
用
了
这
个
_
_
s
e
t
(
)
方
法
为
私
有
属
性
赋
值
<
b
r
>
"
;
$
t
h
i
s
-
>
$
p
r
o
p
e
r
t
y
_
n
a
m
e
=
$
v
a
l
u
e
;
}
}
$
a
=
n
e
w
P
e
r
s
o
n
(
)
;
/
/
直
接
为
私
有
属
性
赋
值
的
操
作
,
会
自
动
调
用
_
_
s
e
t
(
)
方
法
进
行
赋
值
$
a
-
>
n
a
m
e
=
"
张
三
"
;
$
a
-
>
s
e
x
=
"
男
"
;
$
a
-
>
a
g
e
=
2
0
;
/
/
直
接
获
取
私
有
属
性
的
值
,
会
自
动
调
用
_
_
g
e
t
(
)
方
法
,
返
回
成
员
属
性
的
值
e
c
h
o
"
姓
名
:
"
.
$
a
-
>
n
a
m
e
.
"
<
b
r
>
"
;
e
c
h
o
"
性
别
:
"
.
$
a
-
>
s
e
x
.
"
<
b
r
>
"
;
e
c
h
o
"
年
龄
:
"
.
$
a
-
>
a
g
e
.
"
<
b
r
>
"
;
?
>
运
行
结
果
:
在
直
接
设
置
私
有
属
性
值
的
时
候
,
自
动
调
用
了
这
个
_
_
s
e
t
(
)
方
法
为
私
有
属
性
赋
值
在
直
接
设
置
私
有
属
性
值
的
时
候
,
自
动
调
用
了
这
个
_
_
s
e
t
(
)
方
法
为
私
有
属
性
赋
值
在
直
接
设
置
私
有
属
性
值
的
时
候
,
自
动
调
用
了
这
个
_
_
s
e
t
(
)
方
法
为
私
有
属
性
赋
值
在
直
接
获
取
私
有
属
性
值
的
时
候
,
自
动
调
用
了
这
个
_
_
g
e
t
(
)
方
法
姓
名
:
张
三
在
直
接
获
取
私
有
属
性
值
的
时
候
,
自
动
调
用
了
这
个
_
_
g
e
t
(
)
方
法
性
别
:
男
在
直
接
获
取
私
有
属
性
值
的
时
候
,
自
动
调
用
了
这
个
_
_
g
e
t
(
)
方
法
年
龄
:
2
0
<
?
p
h
p
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
v
a
r
i
a
b
l
e
=
'
T
h
i
s
i
s
a
s
t
r
i
n
g
'
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
g
o
o
d
(
)
{
e
c
h
o
$
t
h
i
s
-
>
v
a
r
i
a
b
l
e
.
'
<
b
r
/
>
'
;
}
_
_
S
L
E
E
P
(
)
_
_
s
l
e
e
p
(
)
:
s
e
r
i
a
l
i
z
e
之
前
被
调
用
,
可
以
指
定
要
序
列
化
的
对
象
属
性
。
例
:
例
:
_
_
W
A
K
E
U
P
_
_
w
a
k
e
u
p
:
反
序
列
化
恢
复
对
象
之
前
调
用
该
方
法
例
:
例
:
}
/
/
在
对
象
当
做
字
符
串
的
时
候
会
被
调
用
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
t
o
S
t
r
i
n
g
(
)
{
r
e
t
u
r
n
'
_
_
t
o
S
t
r
i
n
g
<
b
r
>
'
;
}
}
$
a
=
n
e
w
T
e
s
t
(
)
;
$
a
-
>
g
o
o
d
(
)
;
e
c
h
o
$
a
;
?
>
运
行
结
果
:
T
h
i
s
i
s
a
s
t
r
i
n
g
_
_
t
o
S
t
r
i
n
g
<
?
p
h
p
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
n
a
m
e
;
p
u
b
l
i
c
$
a
g
e
;
p
u
b
l
i
c
$
s
t
r
i
n
g
;
/
/
_
_
c
o
n
s
t
r
u
c
t
:
实
例
化
对
象
时
被
调
用
.
其
作
用
是
拿
来
初
始
化
一
些
值
。
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
n
a
m
e
,
$
a
g
e
,
$
s
t
r
i
n
g
)
{
e
c
h
o
"
_
_
c
o
n
s
t
r
u
c
t
初
始
化
"
.
"
<
b
r
>
"
;
$
t
h
i
s
-
>
n
a
m
e
=
$
n
a
m
e
;
$
t
h
i
s
-
>
a
g
e
=
$
a
g
e
;
$
t
h
i
s
-
>
s
t
r
i
n
g
=
$
s
t
r
i
n
g
;
}
/
/
_
_
s
l
e
e
p
(
)
:
s
e
r
i
a
l
i
z
e
之
前
被
调
用
,
可
以
指
定
要
序
列
化
的
对
象
属
性
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
s
l
e
e
p
(
)
{
e
c
h
o
"
当
在
类
外
部
使
用
s
e
r
i
a
l
i
z
e
(
)
时
会
调
用
这
里
的
_
_
s
l
e
e
p
(
)
方
法
<
b
r
>
"
;
/
/
例
如
指
定
只
需
要
n
a
m
e
和
a
g
e
进
行
序
列
化
,
必
须
返
回
一
个
数
值
r
e
t
u
r
n
a
r
r
a
y
(
'
n
a
m
e
'
,
'
a
g
e
'
)
;
}
}
$
a
=
n
e
w
T
e
s
t
(
"
S
p
a
c
e
m
a
n
"
,
5
6
6
,
'
T
e
s
t
S
t
r
i
n
g
'
)
;
e
c
h
o
s
e
r
i
a
l
i
z
e
(
$
a
)
;
?
>
运
行
结
果
:
_
_
c
o
n
s
t
r
u
c
t
初
始
化
当
在
类
外
部
使
用
s
e
r
i
a
l
i
z
e
(
)
时
会
调
用
这
里
的
_
_
s
l
e
e
p
(
)
方
法
O
:
4
:
"
T
e
s
t
"
:
2
:
{
s
:
4
:
"
n
a
m
e
"
;
s
:
8
:
"
S
p
a
c
e
m
a
n
"
;
s
:
3
:
"
a
g
e
"
;
i
:
5
6
6
;
}
<
?
p
h
p
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
s
e
x
;
p
u
b
l
i
c
$
n
a
m
e
;
p
u
b
l
i
c
$
a
g
e
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
n
a
m
e
,
$
a
g
e
,
$
s
e
x
)
{
$
t
h
i
s
-
>
n
a
m
e
=
$
n
a
m
e
;
$
t
h
i
s
-
>
a
g
e
=
$
a
g
e
;
$
t
h
i
s
-
>
s
e
x
=
$
s
e
x
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
w
a
k
e
u
p
(
)
{
e
c
h
o
"
当
在
类
外
部
使
用
u
n
s
e
r
i
a
l
i
z
e
(
)
时
会
调
用
这
里
的
_
_
w
a
k
e
u
p
(
)
方
法
<
b
r
>
"
;
$
t
h
i
s
-
>
a
g
e
=
5
6
6
;
}
}
$
p
e
r
s
o
n
=
n
e
w
T
e
s
t
(
'
s
p
a
c
e
m
a
n
'
,
2
1
,
'
男
'
)
;
$
a
=
s
e
r
i
a
l
i
z
e
(
$
p
e
r
s
o
n
)
;
e
c
h
o
$
a
.
"
<
b
r
>
"
;
_
_
I
S
S
E
T
(
)
_
_
i
s
s
e
t
(
)
:
检
测
对
象
的
某
个
属
性
是
否
存
在
时
执
行
此
函
数
。
当
对
不
可
访
问
属
性
调
用
i
s
s
e
t
(
)
或
e
m
p
t
y
(
)
时
,
_
_
i
s
s
e
t
(
)
会
被
调
用
。
例
:
例
:
_
_
U
N
S
E
T
(
)
_
_
u
n
s
e
t
(
)
:
在
不
可
访
问
的
属
性
上
使
用
u
n
s
e
t
(
)
时
触
发
销
毁
对
象
的
某
个
属
性
时
执
行
此
函
数
。
1
、
如
果
一
个
对
象
里
面
的
成
员
属
性
是
公
有
的
,
就
可
以
使
用
这
个
函
数
在
对
象
外
面
删
除
对
象
的
公
有
属
性
。
2
、
如
果
对
象
的
成
员
属
性
是
私
有
的
,
我
使
用
这
个
函
数
就
没
有
权
限
去
删
除
。
例
:
例
:
v
a
r
_
d
u
m
p
(
u
n
s
e
r
i
a
l
i
z
e
(
$
a
)
)
;
?
>
运
行
结
果
:
O
:
4
:
"
T
e
s
t
"
:
3
:
{
s
:
3
:
"
s
e
x
"
;
s
:
3
:
"
男
"
;
s
:
4
:
"
n
a
m
e
"
;
s
:
8
:
"
s
p
a
c
e
m
a
n
"
;
s
:
3
:
"
a
g
e
"
;
i
:
2
1
;
}
当
在
类
外
部
使
用
u
n
s
e
r
i
a
l
i
z
e
(
)
时
会
调
用
这
里
的
_
_
w
a
k
e
u
p
(
)
方
法
c
l
a
s
s
T
e
s
t
#
2
(
3
)
{
p
u
b
l
i
c
$
s
e
x
=
>
s
t
r
i
n
g
(
3
)
"
男
"
p
u
b
l
i
c
$
n
a
m
e
=
>
s
t
r
i
n
g
(
8
)
"
s
p
a
c
e
m
a
n
"
p
u
b
l
i
c
$
a
g
e
=
>
i
n
t
(
5
6
6
)
}
<
?
p
h
p
c
l
a
s
s
P
e
r
s
o
n
{
p
u
b
l
i
c
$
s
e
x
;
p
r
i
v
a
t
e
$
n
a
m
e
;
p
r
i
v
a
t
e
$
a
g
e
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
n
a
m
e
,
$
a
g
e
,
$
s
e
x
)
{
$
t
h
i
s
-
>
n
a
m
e
=
$
n
a
m
e
;
$
t
h
i
s
-
>
a
g
e
=
$
a
g
e
;
$
t
h
i
s
-
>
s
e
x
=
$
s
e
x
;
}
/
/
_
_
i
s
s
e
t
(
)
:
当
对
不
可
访
问
属
性
调
用
i
s
s
e
t
(
)
或
e
m
p
t
y
(
)
时
,
_
_
i
s
s
e
t
(
)
会
被
调
用
。
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
i
s
s
e
t
(
$
c
o
n
t
e
n
t
)
{
e
c
h
o
"
当
在
类
外
部
使
用
i
s
s
e
t
(
)
函
数
测
定
私
有
成
员
{
$
c
o
n
t
e
n
t
}
时
,
自
动
调
用
<
b
r
>
"
;
r
e
t
u
r
n
i
s
s
e
t
(
$
t
h
i
s
-
>
$
c
o
n
t
e
n
t
)
;
}
}
$
p
e
r
s
o
n
=
n
e
w
P
e
r
s
o
n
(
"
s
p
a
c
e
m
a
n
"
,
2
5
,
'
男
'
)
;
/
/
p
u
b
l
i
c
成
员
e
c
h
o
(
$
p
e
r
s
o
n
-
>
s
e
x
)
,
"
<
b
r
>
"
;
/
/
p
r
i
v
a
t
e
成
员
e
c
h
o
i
s
s
e
t
(
$
p
e
r
s
o
n
-
>
n
a
m
e
)
;
?
>
运
行
结
果
:
男
当
在
类
外
部
使
用
i
s
s
e
t
(
)
函
数
测
定
私
有
成
员
n
a
m
e
时
,
自
动
调
用
1
<
?
p
h
p
c
l
a
s
s
P
e
r
s
o
n
{
p
u
b
l
i
c
$
s
e
x
;
p
r
i
v
a
t
e
$
n
a
m
e
;
p
r
i
v
a
t
e
$
a
g
e
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
n
a
m
e
,
$
a
g
e
,
$
s
e
x
)
{
$
t
h
i
s
-
>
n
a
m
e
=
$
n
a
m
e
;
$
t
h
i
s
-
>
a
g
e
=
$
a
g
e
;
$
t
h
i
s
-
>
s
e
x
=
$
s
e
x
;
}
/
/
_
_
u
n
s
e
t
(
)
:
销
毁
对
象
的
某
个
属
性
时
执
行
此
函
数
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
u
n
s
e
t
(
$
c
o
n
t
e
n
t
)
{
e
c
h
o
"
当
在
类
外
部
使
用
u
n
s
e
t
(
)
函
数
来
删
除
私
有
成
员
时
自
动
调
用
的
<
b
r
>
"
;
e
c
h
o
i
s
s
e
t
(
$
t
h
i
s
-
>
$
c
o
n
t
e
n
t
)
.
"
<
b
r
>
"
;
}
}
_
_
I
N
V
O
K
E
(
)
_
_
I
N
V
O
K
E
(
)
:
将
对
象
当
做
函
数
来
使
用
时
执
行
此
方
法
,
通
常
不
推
荐
这
样
做
。
例
:
例
:
举
例
p
o
p
链
的
利
用
例
例
1
:
:
简
单
的
审
计
一
下
,
可
以
发
现
,
p
o
p
类
本
来
是
调
用
h
e
l
l
o
类
的
,
然
后
程
序
结
束
执
行
a
c
t
i
o
n
方
法
,
但
是
s
h
e
l
l
类
也
有
a
c
t
i
o
n
方
法
,
所
以
就
可
以
构
造
p
o
p
链
,
使
其
p
o
p
类
调
用
s
h
e
l
l
类
从
而
执
行
e
v
a
l
函
数
。
$
p
e
r
s
o
n
=
n
e
w
P
e
r
s
o
n
(
"
s
p
a
c
e
m
a
n
"
,
2
1
,
"
男
"
)
;
/
/
初
始
赋
值
u
n
s
e
t
(
$
p
e
r
s
o
n
-
>
s
e
x
)
;
e
c
h
o
"
6
6
6
6
6
6
<
b
r
>
"
;
u
n
s
e
t
(
$
p
e
r
s
o
n
-
>
n
a
m
e
)
;
u
n
s
e
t
(
$
p
e
r
s
o
n
-
>
a
g
e
)
;
?
>
运
行
结
果
:
6
6
6
6
6
6
当
在
类
外
部
使
用
u
n
s
e
t
(
)
函
数
来
删
除
私
有
成
员
时
自
动
调
用
的
1
当
在
类
外
部
使
用
u
n
s
e
t
(
)
函
数
来
删
除
私
有
成
员
时
自
动
调
用
的
1
<
?
p
h
p
c
l
a
s
s
T
e
s
t
{
/
/
_
i
n
v
o
k
e
(
)
:
以
调
用
函
数
的
方
式
调
用
一
个
对
象
时
,
_
_
i
n
v
o
k
e
(
)
方
法
会
被
自
动
调
用
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
i
n
v
o
k
e
(
$
p
a
r
a
m
1
,
$
p
a
r
a
m
2
,
$
p
a
r
a
m
3
)
{
e
c
h
o
"
这
是
一
个
对
象
<
b
r
>
"
;
v
a
r
_
d
u
m
p
(
$
p
a
r
a
m
1
,
$
p
a
r
a
m
2
,
$
p
a
r
a
m
3
)
;
}
}
$
a
=
n
e
w
T
e
s
t
(
)
;
$
a
(
'
s
p
a
c
e
m
a
n
'
,
2
1
,
'
男
'
)
;
?
>
运
行
结
果
:
这
是
一
个
对
象
s
t
r
i
n
g
(
8
)
"
s
p
a
c
e
m
a
n
"
i
n
t
(
2
1
)
s
t
r
i
n
g
(
3
)
"
男
"
<
?
p
h
p
h
i
g
h
l
i
g
h
t
_
f
i
l
e
(
_
_
F
I
L
E
_
_
)
;
c
l
a
s
s
p
o
p
{
p
u
b
l
i
c
$
C
l
a
s
s
O
b
j
;
/
/
对
象
实
例
化
时
调
用
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
)
{
$
t
h
i
s
-
>
C
l
a
s
s
O
b
j
=
n
e
w
h
e
l
l
o
(
)
;
}
/
/
对
象
销
毁
或
程
序
运
行
结
束
时
调
用
f
u
n
c
t
i
o
n
_
_
d
e
s
t
r
u
c
t
(
)
{
$
t
h
i
s
-
>
C
l
a
s
s
O
b
j
-
>
a
c
t
i
o
n
(
)
;
}
}
c
l
a
s
s
h
e
l
l
o
{
f
u
n
c
t
i
o
n
a
c
t
i
o
n
(
)
{
e
c
h
o
"
<
b
r
>
h
e
l
l
o
p
o
p
"
;
}
}
c
l
a
s
s
s
h
e
l
l
{
p
u
b
l
i
c
$
d
a
t
a
;
f
u
n
c
t
i
o
n
a
c
t
i
o
n
(
)
{
e
v
a
l
(
$
t
h
i
s
-
>
d
a
t
a
)
;
}
}
$
a
=
n
e
w
p
o
p
(
)
;
u
n
s
e
r
i
a
l
i
z
e
(
$
_
G
E
T
[
'
s
'
]
)
;
构
造
如
下
:
<
?
p
h
p
不
过
需
要
注
意
的
是
p
r
i
v
a
t
e
属
性
和
p
r
o
t
e
c
t
e
d
属
性
例
例
2
:
:
[
M
R
C
T
F
2
0
2
0
]
E
z
p
o
p
<
?
p
h
p
h
i
g
h
l
i
g
h
t
_
f
i
l
e
(
_
_
F
I
L
E
_
_
)
;
c
l
a
s
s
p
o
p
{
p
u
b
l
i
c
$
C
l
a
s
s
O
b
j
;
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
)
{
$
t
h
i
s
-
>
C
l
a
s
s
O
b
j
=
n
e
w
s
h
e
l
l
(
)
;
}
}
c
l
a
s
s
s
h
e
l
l
{
p
u
b
l
i
c
$
d
a
t
a
=
"
p
h
p
i
n
f
o
(
)
;
"
;
f
u
n
c
t
i
o
n
a
c
t
i
o
n
(
)
{
e
v
a
l
(
$
t
h
i
s
-
>
d
a
t
a
)
;
}
}
e
c
h
o
s
e
r
i
a
l
i
z
e
(
n
e
w
p
o
p
(
)
)
;
运
行
结
果
:
O
:
3
:
"
p
o
p
"
:
1
:
{
s
:
8
:
"
C
l
a
s
s
O
b
j
"
;
O
:
5
:
"
s
h
e
l
l
"
:
1
:
{
s
:
4
:
"
d
a
t
a
"
;
s
:
1
0
:
"
p
h
p
i
n
f
o
(
)
;
"
;
}
}
<
?
p
h
p
h
i
g
h
l
i
g
h
t
_
f
i
l
e
(
_
_
F
I
L
E
_
_
)
;
c
l
a
s
s
p
o
p
{
p
u
b
l
i
c
$
P
u
b
=
"
s
p
a
c
e
m
a
n
"
;
p
r
i
v
a
t
e
$
P
r
i
=
"
g
o
o
d
"
;
p
r
o
t
e
c
t
e
d
$
C
l
a
s
s
O
b
j
;
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
)
{
$
t
h
i
s
-
>
C
l
a
s
s
O
b
j
=
n
e
w
h
e
l
l
o
(
)
;
}
}
c
l
a
s
s
h
e
l
l
o
{
}
e
c
h
o
u
r
l
e
n
c
o
d
e
(
s
e
r
i
a
l
i
z
e
(
n
e
w
p
o
p
(
)
)
)
;
运
行
结
果
如
下
,
有
%
0
0
存
在
是
因
为
p
r
i
v
a
t
e
属
性
和
p
r
o
t
e
c
t
e
d
属
性
O
%
3
A
3
%
3
A
%
2
2
p
o
p
%
2
2
%
3
A
3
%
3
A
%
7
B
s
%
3
A
3
%
3
A
%
2
2
P
u
b
%
2
2
%
3
B
s
%
3
A
8
%
3
A
%
2
2
s
p
a
c
e
m
a
n
%
2
2
%
3
B
s
%
3
A
8
%
3
A
%
2
2
%
0
0
p
o
p
%
0
0
P
r
i
%
2
2
%
3
B
s
%
3
A
4
%
3
A
%
2
2
g
o
o
d
%
2
2
%
3
B
s
%
3
A
1
1
%
3
A
%
2
2
%
0
0
%
2
A
%
0
0
C
l
a
s
s
O
b
j
%
2
2
%
3
B
O
%
3
A
5
%
3
A
%
2
2
h
e
l
l
o
%
2
2
%
3
A
0
%
3
A
%
7
B
%
7
D
%
7
D
<
?
p
h
p
c
l
a
s
s
M
o
d
i
f
i
e
r
{
p
r
o
t
e
c
t
e
d
$
v
a
r
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
a
p
p
e
n
d
(
$
v
a
l
u
e
)
{
i
n
c
l
u
d
e
(
$
v
a
l
u
e
)
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
i
n
v
o
k
e
(
)
{
$
t
h
i
s
-
>
a
p
p
e
n
d
(
$
t
h
i
s
-
>
v
a
r
)
;
}
}
c
l
a
s
s
S
h
o
w
{
p
u
b
l
i
c
$
s
o
u
r
c
e
;
p
u
b
l
i
c
$
s
t
r
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
f
i
l
e
=
'
i
n
d
e
x
.
p
h
p
'
)
{
$
t
h
i
s
-
>
s
o
u
r
c
e
=
$
f
i
l
e
;
e
c
h
o
'
W
e
l
c
o
m
e
t
o
'
.
$
t
h
i
s
-
>
s
o
u
r
c
e
.
"
<
b
r
>
"
;
}
首
先
看
看
所
涉
及
到
的
魔
术
方
法
:
_
_
c
o
n
s
t
r
u
c
t
(
)
当
一
个
对
象
创
建
时
被
调
用
_
_
t
o
S
t
r
i
n
g
(
)
当
一
个
对
象
被
当
作
一
个
字
符
串
使
用
_
_
w
a
k
e
u
p
(
)
将
在
反
序
列
化
之
后
立
即
被
调
用
_
_
g
e
t
(
)
访
问
不
存
在
的
成
员
变
量
时
调
用
的
_
_
i
n
v
o
k
e
(
)
将
对
象
当
作
函
数
来
使
用
时
执
行
此
方
法
我
们
可
以
先
一
个
一
个
类
看
看
怎
么
利
用
M
o
d
i
f
i
e
r
类
:
类
:
这
里
假
设
需
要
i
n
c
l
u
d
e
的
文
件
是
i
n
f
o
.
p
h
p
简
单
解
释
一
下
代
码
的
意
思
,
就
是
我
们
需
要
执
行
a
p
p
e
n
d
方
法
,
若
需
要
执
行
该
方
法
可
通
过
_
_
i
n
v
o
k
e
方
法
执
行
,
也
就
是
当
将
对
象
当
作
函
数
来
使
用
时
执
行
_
_
i
n
v
o
k
e
方
法
所
以
我
们
就
可
以
先
创
建
这
个
对
象
然
后
再
拿
来
当
函
数
使
用
,
就
会
自
动
触
发
_
_
i
n
v
o
k
e
方
法
,
从
而
就
可
以
执
行
a
p
p
e
n
d
方
法
包
含
i
n
f
o
.
p
h
p
文
件
运
行
结
果
:
运
行
结
果
:
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
t
o
S
t
r
i
n
g
(
)
{
r
e
t
u
r
n
$
t
h
i
s
-
>
s
t
r
-
>
s
o
u
r
c
e
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
w
a
k
e
u
p
(
)
{
i
f
(
p
r
e
g
_
m
a
t
c
h
(
"
/
g
o
p
h
e
r
|
h
t
t
p
|
f
i
l
e
|
f
t
p
|
h
t
t
p
s
|
d
i
c
t
|
.
.
/
i
"
,
$
t
h
i
s
-
>
s
o
u
r
c
e
)
)
{
e
c
h
o
"
h
a
c
k
e
r
"
;
$
t
h
i
s
-
>
s
o
u
r
c
e
=
"
i
n
d
e
x
.
p
h
p
"
;
}
}
}
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
p
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
)
{
$
t
h
i
s
-
>
p
=
a
r
r
a
y
(
)
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
g
e
t
(
$
k
e
y
)
{
$
f
u
n
c
t
i
o
n
=
$
t
h
i
s
-
>
p
;
r
e
t
u
r
n
$
f
u
n
c
t
i
o
n
(
)
;
}
}
i
f
(
i
s
s
e
t
(
$
_
G
E
T
[
'
p
o
p
'
]
)
)
{
@
u
n
s
e
r
i
a
l
i
z
e
(
$
_
G
E
T
[
'
p
o
p
'
]
)
;
}
e
l
s
e
{
$
a
=
n
e
w
S
h
o
w
;
h
i
g
h
l
i
g
h
t
_
f
i
l
e
(
_
_
F
I
L
E
_
_
)
;
}
<
?
p
h
p
h
i
g
h
l
i
g
h
t
_
f
i
l
e
(
_
_
F
I
L
E
_
_
)
;
c
l
a
s
s
M
o
d
i
f
i
e
r
{
p
r
o
t
e
c
t
e
d
$
v
a
r
=
'
i
n
f
o
.
p
h
p
'
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
a
p
p
e
n
d
(
$
v
a
l
u
e
)
{
i
n
c
l
u
d
e
(
$
v
a
l
u
e
)
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
i
n
v
o
k
e
(
)
{
e
c
h
o
'
_
_
i
n
v
o
k
e
'
.
"
<
b
r
>
"
;
$
t
h
i
s
-
>
a
p
p
e
n
d
(
$
t
h
i
s
-
>
v
a
r
)
;
}
}
$
a
=
n
e
w
M
o
d
i
f
i
e
r
(
)
;
$
a
(
)
;
接
下
来
是
接
下
来
是
T
e
s
t
类
:
类
:
首
先
是
_
_
c
o
n
s
t
r
u
c
t
方
法
初
始
化
设
置
p
是
一
个
数
组
,
这
显
然
不
是
我
们
需
要
的
,
但
我
们
可
以
重
新
初
始
化
,
然
后
是
_
_
g
e
t
方
法
,
访
问
不
存
在
的
成
员
变
量
时
调
用
,
而
且
返
回
的
是
方
法
,
这
不
就
可
以
配
合
第
一
个
M
o
d
i
f
i
e
r
类
使
用
了
吗
,
使
用
T
e
s
t
类
的
_
_
g
e
t
方
法
调
用
M
o
d
i
f
i
e
r
类
,
所
以
我
们
可
以
使
T
e
s
t
类
初
始
化
将
$
p
的
值
设
为
M
o
d
i
f
i
e
r
对
象
,
然
后
再
经
过
_
_
g
e
t
方
法
以
函
数
的
方
式
执
行
M
o
d
i
f
i
e
r
对
象
(
即
访
问
一
个
T
e
s
t
类
不
存
在
的
属
性
)
,
这
样
就
可
以
使
用
M
o
d
i
f
i
e
r
对
象
的
a
p
p
e
n
d
方
法
了
,
如
下
:
运
行
结
果
:
最
后
是
这
个
最
后
是
这
个
S
h
o
w
类
:
类
:
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
p
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
)
{
$
t
h
i
s
-
>
p
=
a
r
r
a
y
(
)
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
g
e
t
(
$
k
e
y
)
{
$
f
u
n
c
t
i
o
n
=
$
t
h
i
s
-
>
p
;
r
e
t
u
r
n
$
f
u
n
c
t
i
o
n
(
)
;
}
}
<
?
p
h
p
c
l
a
s
s
M
o
d
i
f
i
e
r
{
p
r
o
t
e
c
t
e
d
$
v
a
r
=
'
i
n
f
o
.
p
h
p
'
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
a
p
p
e
n
d
(
$
v
a
l
u
e
)
{
i
n
c
l
u
d
e
(
$
v
a
l
u
e
)
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
i
n
v
o
k
e
(
)
{
e
c
h
o
'
_
_
i
n
v
o
k
e
'
.
"
<
b
r
>
"
;
$
t
h
i
s
-
>
a
p
p
e
n
d
(
$
t
h
i
s
-
>
v
a
r
)
;
}
}
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
p
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
)
{
$
t
h
i
s
-
>
p
=
n
e
w
M
o
d
i
f
i
e
r
(
)
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
g
e
t
(
$
k
e
y
)
{
$
f
u
n
c
t
i
o
n
=
$
t
h
i
s
-
>
p
;
r
e
t
u
r
n
$
f
u
n
c
t
i
o
n
(
)
;
}
}
$
a
=
n
e
w
T
e
s
t
(
)
;
$
a
-
>
n
o
;
?
>
c
l
a
s
s
S
h
o
w
{
p
u
b
l
i
c
$
s
o
u
r
c
e
;
p
u
b
l
i
c
$
s
t
r
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
f
i
l
e
=
'
i
n
d
e
x
.
p
h
p
'
)
{
$
t
h
i
s
-
>
s
o
u
r
c
e
=
$
f
i
l
e
;
e
c
h
o
'
W
e
l
c
o
m
e
t
o
'
.
$
t
h
i
s
-
>
s
o
u
r
c
e
.
"
<
b
r
>
"
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
t
o
S
t
r
i
n
g
(
)
{
r
e
t
u
r
n
$
t
h
i
s
-
>
s
t
r
-
>
s
o
u
r
c
e
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
w
a
k
e
u
p
(
)
{
i
f
(
p
r
e
g
_
m
a
t
c
h
(
"
/
g
o
p
h
e
r
|
h
t
t
p
|
f
i
l
e
|
f
t
p
|
h
t
t
p
s
|
d
i
c
t
|
.
.
/
i
"
,
$
t
h
i
s
-
>
s
o
u
r
c
e
)
)
{
e
c
h
o
"
h
a
c
k
e
r
"
;
$
t
h
i
s
-
>
s
o
u
r
c
e
=
"
i
n
d
e
x
.
p
h
p
"
;
}
}
}
首
先
使
用
u
n
s
e
r
i
a
l
i
z
e
会
先
触
发
_
_
w
a
k
e
u
p
方
法
,
这
个
方
法
在
这
里
其
实
就
是
充
当
过
滤
字
符
,
接
着
是
初
始
化
方
法
,
这
个
方
法
有
个
关
键
的
地
方
就
是
使
用
了
e
c
h
o
打
印
字
符
串
,
并
且
将
s
o
u
r
c
e
拼
接
起
来
打
印
,
而
_
_
t
o
S
t
r
i
n
g
(
)
就
是
当
一
个
对
象
被
当
作
一
个
字
符
串
时
调
用
,
正
好
可
以
利
用
初
始
化
方
法
的
e
c
h
o
去
完
成
调
用
。
分
析
了
这
么
多
,
最
后
就
可
以
构
造
最
终
的
p
o
p
链
了
,
先
上
p
a
y
l
o
a
d
再
继
续
讲
运
行
结
果
有
不
可
显
示
字
符
%
0
0
这
里
我
手
动
加
上
了
,
所
以
可
以
使
用
u
r
l
e
n
c
o
d
e
一
下
,
我
这
里
是
为
了
更
直
观
的
查
看
所
以
直
接
序
列
化
首
先
是
n
e
w
一
个
S
h
o
w
对
象
,
然
后
初
始
化
s
o
u
r
c
e
的
值
,
如
s
p
a
c
e
m
a
n
等
字
符
,
这
个
没
多
大
影
响
,
只
是
为
了
调
用
T
e
s
t
类
中
的
_
_
g
e
t
方
法
,
那
如
何
调
用
的
呢
$
a
-
>
s
t
r
=
n
e
w
T
e
s
t
(
)
;
将
S
h
o
w
类
的
s
t
r
属
性
设
为
n
e
w
T
e
s
t
(
)
$
c
=
n
e
w
S
h
o
w
(
$
a
)
;
然
后
再
用
S
h
o
w
类
初
始
化
刚
刚
构
造
的
S
h
o
w
类
,
这
里
可
能
就
有
点
绕
了
,
为
何
我
们
需
要
这
样
构
造
呢
,
因
为
我
们
需
要
触
发
S
h
o
w
的
_
_
t
o
S
t
r
i
n
g
(
)
方
法
,
让
s
t
r
能
调
用
s
o
u
r
c
e
,
而
经
过
刚
刚
的
赋
值
,
s
t
r
为
n
e
w
T
e
s
t
(
)
,
s
o
u
r
c
e
为
n
e
w
S
h
o
w
(
'
s
p
a
c
e
m
a
n
'
)
中
的
s
p
a
c
e
m
a
n
,
那
么
_
_
t
o
S
t
r
i
n
g
方
法
中
的
s
t
r
-
>
s
o
u
r
c
e
就
是
访
问
T
e
s
t
类
中
的
s
p
a
c
e
m
a
n
属
性
,
然
而
T
e
s
t
类
没
有
s
p
a
c
e
m
a
n
属
性
,
那
么
就
会
触
发
_
_
g
e
t
方
法
,
而
该
方
法
又
会
触
发
M
o
d
i
f
i
e
r
类
中
的
_
_
i
n
v
o
k
e
方
法
,
最
后
就
完
成
了
i
n
c
l
u
d
e
所
以
大
概
调
用
的
过
程
是
:
S
h
o
w
:
:
_
_
t
o
S
t
r
i
n
g
(
)
-
-
>
T
e
s
t
:
:
_
_
g
e
t
(
)
-
-
>
M
o
d
i
f
i
e
r
:
:
_
_
i
n
v
o
k
e
(
)
执
行
结
果
:
当
然
这
是
文
件
包
含
,
那
么
想
要
读
取
文
件
应
该
怎
么
办
呢
,
可
以
p
h
p
伪
协
议
使
用
,
所
以
可
以
这
样
构
造
读
取
文
件
}
<
?
p
h
p
c
l
a
s
s
M
o
d
i
f
i
e
r
{
p
r
o
t
e
c
t
e
d
$
v
a
r
=
'
i
n
f
o
.
p
h
p
'
;
}
c
l
a
s
s
S
h
o
w
{
p
u
b
l
i
c
$
s
o
u
r
c
e
;
p
u
b
l
i
c
$
s
t
r
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
f
i
l
e
)
{
$
t
h
i
s
-
>
s
o
u
r
c
e
=
$
f
i
l
e
;
e
c
h
o
'
W
e
l
c
o
m
e
t
o
'
.
$
t
h
i
s
-
>
s
o
u
r
c
e
.
"
<
b
r
>
"
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
t
o
S
t
r
i
n
g
(
)
{
r
e
t
u
r
n
"
5
6
6
"
;
}
}
c
l
a
s
s
T
e
s
t
{
p
u
b
l
i
c
$
p
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
)
{
$
t
h
i
s
-
>
p
=
n
e
w
M
o
d
i
f
i
e
r
(
)
;
}
}
$
a
=
n
e
w
S
h
o
w
(
'
s
p
a
c
e
m
a
n
'
)
;
$
a
-
>
s
t
r
=
n
e
w
T
e
s
t
(
)
;
$
c
=
n
e
w
S
h
o
w
(
$
a
)
;
e
c
h
o
s
e
r
i
a
l
i
z
e
(
$
c
)
;
W
e
l
c
o
m
e
t
o
s
p
a
c
e
m
a
n
W
e
l
c
o
m
e
t
o
5
6
6
O
:
4
:
"
S
h
o
w
"
:
2
:
{
s
:
6
:
"
s
o
u
r
c
e
"
;
O
:
4
:
"
S
h
o
w
"
:
2
:
{
s
:
6
:
"
s
o
u
r
c
e
"
;
s
:
8
:
"
s
p
a
c
e
m
a
n
"
;
s
:
3
:
"
s
t
r
"
;
O
:
4
:
"
T
e
s
t
"
:
1
:
{
s
:
1
:
"
p
"
;
O
:
8
:
"
M
o
d
i
f
i
e
r
"
:
1
:
{
s
:
6
:
"
%
0
0
*
%
0
0
v
a
r
"
;
s
:
8
:
"
i
n
f
o
.
p
h
p
"
;
}
}
}
s
:
3
:
"
s
t
r
"
;
N
;
}
$
a
=
n
e
w
S
h
o
w
(
'
s
p
a
c
e
m
a
n
'
)
;
<
?
p
h
p
c
l
a
s
s
M
o
d
i
f
i
e
r
{
p
r
o
t
e
c
t
e
d
$
v
a
r
=
'
p
h
p
:
/
/
f
i
l
t
e
r
/
r
e
a
d
=
c
o
n
v
e
r
t
.
b
a
s
e
6
4
-
e
n
c
o
d
e
/
r
e
s
o
u
r
c
e
=
f
l
a
g
.
p
h
p
'
;
}
c
l
a
s
s
S
h
o
w
{
p
u
b
l
i
c
$
s
o
u
r
c
e
;
p
u
b
l
i
c
$
s
t
r
;
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
c
o
n
s
t
r
u
c
t
(
$
f
i
l
e
)
{
$
t
h
i
s
-
>
s
o
u
r
c
e
=
$
f
i
l
e
;
e
c
h
o
'
W
e
l
c
o
m
e
t
o
'
.
$
t
h
i
s
-
>
s
o
u
r
c
e
.
"
<
b
r
>
"
;
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
_
_
t
o
S
t
r
i
n
g
(
)
{
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页