如何从wordpress数据库的metavalue中获取数据

时间:2015-05-18 13:41:40

标签: php mysql json wordpress

我是新手php开发者

这是我要在我的页面上显示的meta_value

a: 5: {
        i: 0;a: 8: {
            s: 4: "mode";s: 7: "builder";s: 4: "name";s: 26: "Service Dog Handler Name *";s: 5: "value";s: 12: "handler name";s: 5: "price";s: 1: "0";s: 7: "section";s: 23: "555453917016c5.41306136";s: 13: "section_label";s: 26: "Service Dog Handler Name *";s: 19: "percentcurrenttotal";i: 0;s: 8: "quantity";i: 1;
        }
        i: 1;a: 8: {
            s: 4: "mode";s: 7: "builder";s: 4: "name";s: 18: "Service Dog Name *";s: 5: "value";s: 8: "dog name";s: 5: "price";s: 1: "0";s: 7: "section";s: 23: "55545e36c8cbd4.93742171";s: 13: "section_label";s: 18: "Service Dog Name *";s: 19: "percentcurrenttotal";i: 0;s: 8: "quantity";i: 1;
        }
        i: 2;a: 12: {
            s: 4: "mode";s: 7: "builder";s: 8: "multiple";s: 1: "1";s: 3: "key";s: 9: "1 ($14)_1";s: 4: "name";s: 27: "Add Extra ID Cards to Order";s: 5: "value";s: 7: "1 ($14)";s: 5: "price";s: 2: "14";s: 7: "section";s: 23: "555453a17016d1.12489612";s: 13: "section_label";s: 27: "Add Extra ID Cards to Order";s: 19: "percentcurrenttotal";i: 0;s: 8: "quantity";i: 1;s: 10: "use_images";s: 0: "";s: 6: "images";s: 0: "";
        }
        i: 3;a: 12: {
            s: 4: "mode";s: 7: "builder";s: 8: "multiple";s: 1: "1";s: 3: "key";s: 9: "1 ($16)_1";s: 4: "name";s: 35: "Add Extra Service Dog Tags to Order";s: 5: "value";s: 7: "1 ($16)";s: 5: "price";s: 2: "16";s: 7: "section";s: 23: "55545e71c8cbe5.09933250";s: 13: "section_label";s: 35: "Add Extra Service Dog Tags to Order";s: 19: "percentcurrenttotal";i: 0;s: 8: "quantity";i: 1;s: 10: "use_images";s: 0: "";s: 6: "images";s: 0: "";
        }
        i: 4;a: 8: {
            s: 4: "name";s: 15: "Add Dog Photo *";s: 5: "value";s: 152:"http://sitedemo.evirtualservices.com/registermyserviceanimal.com/site/wp-content/uploads/extra_product_options/c4ca4238a0b923820dcc509a6f75849b/dog1.jpg";s: 7: "display";s: 197: "<a href="
                http: //sitedemo.evirtualservices.com/registermyserviceanimal.com/site/wp-content/uploads/extra_product_options/c4ca4238a0b923820dcc509a6f75849b/dog1.jpg">dog1.jpg</a>";s:5:"price";s:1:"0";s:7:"section";s:23:"555453a67016e7.57135684";s:13:"section_label";s:15:"Add Dog Photo *";s:19:"percentcurrenttotal";i:0;s:8:"quantity";i:1;}}

我从wordpress中的数据库中获取此值。

如何在php中获取这些值?

1 个答案:

答案 0 :(得分:2)

您需要反序列化meta_value,它会将值作为嵌套数组输出。

$value is the meta_value you are getting from executing the database query.

$asdf = unserialize ($value);
echo "<pre>"; print_r($asdf);

它将以嵌套数组格式打印输出 -

Array
(
[0] => Array
    (
        [mode] => builder
        [name] => Service Dog Handler Name *
        [value] => handler name
        [price] => 0
        [section] => 555453917016c5.41306136
        [section_label] => Service Dog Handler Name *
        [percentcurrenttotal] => 0
        [quantity] => 1
    )

[1] => Array
    (
        [mode] => builder
        [name] => Service Dog Name *
        [value] => dog name
        [price] => 0
        [section] => 55545e36c8cbd4.93742171
        [section_label] => Service Dog Name *
        [percentcurrenttotal] => 0
        [quantity] => 1
    )

之后,您可以使用数组索引 -

获取值
  

echo $ asdf [0] ['name']; //它将打印名称

或使用嵌套数组格式

foreach($asdf as $qwer) 
   { 
     if (is_array($qwer)){
    foreach ($qwer as $value) {
        echo "<pre>"; print_r($value);
    }
}
}

它对我有用,希望有所帮助。