这个数据是什么类型的结构?

dav*_*ave 0 html mysql forms wordpress

我有一个带有此值的字段的mysql表:

a:18:{
i:0;
a:7:{
        i:0;
        i:10;
        i:1;
        s:5:"Email";
        i:2;
        s:10:"user_email";
        i:3;
        s:4:"text";
        i:4;
        s:1:"y";
        i:5;
        s:1:"y";
        i:6;
        s:1:"y";
    }
i:1;
a:7:{
        i:0;
        i:1;
        i:1;
        s:10:"First Name";
        i:2;
        s:10:"first_name";
        i:3;
        s:4:"text";
        i:4;
        s:1:"y";
        i:5;
        s:1:"y";
        i:6;
        s:1:"y";
    }
i:2;
a:7:{
        i:0;
        i:2;
        i:1;
        s:9:"Last Name";
        i:2;
        s:9:"last_name";
        i:3;
        s:4:"text";
        i:4;
        s:1:"y";
        i:5;
        s:1:"y";
        i:6;
        s:1:"y";
    }
i:3;
a:7:{
        i:0;
        i:4;
        i:1;
        s:9:"Address 2";
        i:2;
        s:5:"addr2";
        i:3;
        s:4:"text";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:4;
a:7:{
        i:0;
        i:5;
        i:1;
        s:4:"City";
        i:2;
        s:4:"city";
        i:3;
        s:4:"text";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:5;
a:7:{
        i:0;
        i:6;
        i:1;
        s:5:"State";
        i:2;
        s:8:"thestate";
        i:3;
        s:4:"text";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:6;
a:7:{
        i:0;
        i:7;
        i:1;
        s:3:"Zip";
        i:2;
        s:3:"zip";
        i:3;
        s:4:"text";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:7;
a:7:{
        i:0;
        i:9;
        i:1;
        s:9:"Day Phone";
        i:2;
        s:6:"phone1";
        i:3;
        s:4:"text";
        i:4;
        s:1:"y";
        i:5;
        s:1:"y";
        i:6;
        s:1:"n";
    }
i:8;
a:7:{
        i:0;
        i:9;
        i:1;
        s:9:"Alt Phone";
        i:2;
        s:6:"phone2";
        i:3;
        s:4:"text";
        i:4;
        s:1:"y";
        i:5;
        s:1:"y";
        i:6;
        s:1:"n";
    }
i:9;
a:9:{
        i:0;
        i:9;
        i:1;
        s:9:"GENDER";
        i:2;
        s:6:"gender";
        i:3;
        s:4:"select";
        i:4;
        s:1:"y";
        i:5;
        s:1:"y";
        i:6;
        s:1:"n";
        i:7;
        s:4:"male";
        i:8;
        s:5:"female";
    }
i:10;
a:7:{
        i:0;
        i:11;
        i:1;
        s:13:"Confirm Email";
        i:2;
        s:13:"confirm_email";
        i:3;
        s:4:"text";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:11;
a:7:{
        i:0;
        i:3;
        i:1;
        s:9:"Address 1";
        i:2;
        s:5:"addr1";
        i:3;
        s:4:"text";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:12;
a:7:{
        i:0;
        i:8;
        i:1;
        s:7:"Country";
        i:2;
        s:7:"country";
        i:3;
        s:4:"text";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:13;
a:7:{
        i:0;
        i:14;
        i:1;
        s:8:"Password";
        i:2;
        s:8:"password";
        i:3;
        s:8:"password";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:14;
a:7:{
        i:0;
        i:15;
        i:1;
        s:16:"Confirm Password";
        i:2;
        s:16:"confirm_password";
        i:3;
        s:8:"password";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
    }
i:15;
a:9:{
        i:0;
        i:16;
        i:1;
        s:3:"TOS";
        i:2;
        s:3:"tos";
        i:3;
        s:8:"checkbox";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"n";
        i:7;
        s:5:"agree";
        i:8;
        s:1:"n";
    }
i:16;
a:7:{
        i:0;
        i:12;
        i:1;
        s:7:"Website";
        i:2;
        s:8:"user_url";
        i:3;
        s:4:"text";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"y";
    }
i:17;
a:7:{
        i:0;
        i:13;
        i:1;
        s:17:"Biographical Info";
        i:2;
        s:11:"description";
        i:3;
        s:8:"textarea";
        i:4;
        s:1:"n";
        i:5;
        s:1:"n";
        i:6;
        s:1:"y";
    }
}
Run Code Online (Sandbox Code Playgroud)

我以前在其他数据库中多次看过这个,但我不确定这是什么类型的数据类型/字段?原因我问,因为我试图在那里输入make元素输入类型"选择"但似乎无法搞清楚.谁知道?

根据我的理解,上面的数据是表单输入元素的序列化,如文本框,复选框等.

那么他们如何序列化选择输入框呢?例如:

<select>
  <option value='1'>1</option>
  <option value='2'>2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

pal*_*la_ 5

这是serialized数据,最有可能是php函数serialize()

http://php.net/manual/en/function.serialize.php

描述:

string serialize(mixed $ value)生成值的可存储表示.

这对于存储或传递PHP值非常有用,而不会丢失其类型和结构.

要使序列化字符串再次成为PHP值,请使用unserialize().

例:

<?php
  $obj = new stdclass;
  $obj->prop1 = 1;
  $obj->prop2 = "two";
  $arr = array(0, 1, 2, array("key" => "value", "another key" => "another value"), $obj);
  print serialize($arr);
?>
Run Code Online (Sandbox Code Playgroud)

将输出:
a:5:{i:0;i:0;i:1;i:1;i:2;i:2;i:3;a:2:{s:3:"key";s:5:"value";s:11:"another key";s:13:"another value";}i:4;O:8:"stdClass":2:{s:5:"prop1";i:1;s:5:"prop2";s:3:"two";}}

并解释你的一小部分,采取:

a:18:{
i:0;
a:7:{
        i:0;
        i:10;
        i:1;
        s:5:"Email";
        i:2;
        s:10:"user_email";
        i:3;
        s:4:"text";
        i:4;
        s:1:"y";
        i:5;
        s:1:"y";
        i:6;
        s:1:"y";
    }
Run Code Online (Sandbox Code Playgroud)

它说的数据是具有18个元素的阵列a:18,在索引0处的元件i:0是7个元件阵列a:7,在该阵列的索引0处的元件i:0与值10的整数i:10,在索引1处的元件i:1是长度为5的字符串s:5有价值的email.等等.

一个var_dump从串行数据只是第一个元素,得到:

array(1) {
  [0]=>
  array(7) {
    [0]=>
    int(10)
    [1]=>
    string(5) "Email"
    [2]=>
    string(10) "user_email"
    [3]=>
    string(4) "text"
    [4]=>
    string(1) "y"
    [5]=>
    string(1) "y"
    [6]=>
    string(1) "y"
  }
}
Run Code Online (Sandbox Code Playgroud)

要序列化您的特定代码段 - 好吧,有几种方法可以做到这一点,我没有wordpress方便验证它,但一种方法只是在PHP中表示它像这样:

$input = array('type' => 'select');
$opts = array(array('value' => 1, 'text' => '1'), array('value' => 2, 'text' => '2'));
$input['options'] = $opts;
$serialized = serialize($input);
Run Code Online (Sandbox Code Playgroud)

这会给你一个看起来像的字符串 a:2:{s:4:"type";s:6:"select";s:7:"options";a:2:{i:0;a:2:{s:5:"value";i:1;s:4:"text";s:1:"1";}i:1;a:2:{s:5:"value";i:2;s:4:"text";s:1:"2";}}}