在PHP中解析WordPress stdClass数据

在PHP中解析WordPress stdClass数据,php,wordpress,Php,Wordpress,我用PHP执行了一个查询,从WordPress数据库表中的wp\u options检索数据 结果如下: O:8:"stdClass":4:{s:12:"last_checked";i:1517323099;s:8:"response";a:0:{}s:12:"translations";a:0:{}s:9:"no_update";a:3:{s:19:"akismet/akismet.php";O:8:"stdClass":9:{s:2:"id";s:21:"w.org/plugins/akism

我用PHP执行了一个查询,从WordPress数据库表中的
wp\u options
检索数据

结果如下:

O:8:"stdClass":4:{s:12:"last_checked";i:1517323099;s:8:"response";a:0:{}s:12:"translations";a:0:{}s:9:"no_update";a:3:{s:19:"akismet/akismet.php";O:8:"stdClass":9:{s:2:"id";s:21:"w.org/plugins/akismet";s:4:"slug";s:7:"akismet";s:6:"plugin";s:19:"akismet/akismet.php";s:11:"new_version";s:5:"4.0.2";s:3:"url";s:38:"https://wordpress.org/plugins/akismet/";s:7:"package";s:56:"https://downloads.wordpress.org/plugin/akismet.4.0.2.zip";s:5:"icons";a:3:{s:2:"1x";s:59:"https://ps.w.org/akismet/assets/icon-128x128.png?rev=969272";s:2:"2x";s:59:"https://ps.w.org/akismet/assets/icon-256x256.png?rev=969272";s:7:"default";s:59:"https://ps.w.org/akismet/assets/icon-256x256.png?rev=969272";}s:7:"banners";a:2:{s:2:"1x";s:61:"https://ps.w.org/akismet/assets/banner-772x250.jpg?rev=479904";s:7:"default";s:61:"https://ps.w.org/akismet/assets/banner-772x250.jpg?rev=479904";}s:11:"banners_rtl";a:0:{}}s:9:"hello.php";O:8:"stdClass":9:{s:2:"id";s:25:"w.org/plugins/hello-dolly";s:4:"slug";s:11:"hello-dolly";s:6:"plugin";s:9:"hello.php";s:11:"new_version";s:3:"1.6";s:3:"url";s:42:"https://wordpress.org/plugins/hello-dolly/";s:7:"package";s:58:"https://downloads.wordpress.org/plugin/hello-dolly.1.6.zip";s:5:"icons";a:3:{s:2:"1x";s:63:"https://ps.w.org/hello-dolly/assets/icon-128x128.jpg?rev=969907";s:2:"2x";s:63:"https://ps.w.org/hello-dolly/assets/icon-256x256.jpg?rev=969907";s:7:"default";s:63:"https://ps.w.org/hello-dolly/assets/icon-256x256.jpg?rev=969907";}s:7:"banners";a:2:{s:2:"1x";s:65:"https://ps.w.org/hello-dolly/assets/banner-772x250.png?rev=478342";s:7:"default";s:65:"https://ps.w.org/hello-dolly/assets/banner-772x250.png?rev=478342";}s:11:"banners_rtl";a:0:{}}s:19:"jetpack/jetpack.php";O:8:"stdClass":9:{s:2:"id";s:21:"w.org/plugins/jetpack";s:4:"slug";s:7:"jetpack";s:6:"plugin";s:19:"jetpack/jetpack.php";s:11:"new_version";s:5:"5.7.1";s:3:"url";s:38:"https://wordpress.org/plugins/jetpack/";s:7:"package";s:56:"https://downloads.wordpress.org/plugin/jetpack.5.7.1.zip";s:5:"icons";a:4:{s:2:"1x";s:60:"https://ps.w.org/jetpack/assets/icon-128x128.png?rev=1791404";s:2:"2x";s:60:"https://ps.w.org/jetpack/assets/icon-256x256.png?rev=1791404";s:3:"svg";s:52:"https://ps.w.org/jetpack/assets/icon.svg?rev=1791404";s:7:"default";s:52:"https://ps.w.org/jetpack/assets/icon.svg?rev=1791404";}s:7:"banners";a:3:{s:2:"2x";s:63:"https://ps.w.org/jetpack/assets/banner-1544x500.png?rev=1791404";s:2:"1x";s:62:"https://ps.w.org/jetpack/assets/banner-772x250.png?rev=1791404";s:7:"default";s:63:"https://ps.w.org/jetpack/assets/banner-1544x500.png?rev=1791404";}s:11:"banners_rtl";a:0:{}}}}
以下是我在上面的初始输出中未序列化的格式化数据:

stdClass Object
(
    [last_checked] => 1517323099
    [response] => Array
        (
        )

    [translations] => Array
        (
        )

    [no_update] => Array
        (
            [akismet/akismet.php] => stdClass Object
                (
                    [id] => w.org/plugins/akismet
                    [slug] => akismet
                    [plugin] => akismet/akismet.php
                    [new_version] => 4.0.2
                    [url] => https://wordpress.org/plugins/akismet/
                    [package] => https://downloads.wordpress.org/plugin/akismet.4.0.2.zip
                    [icons] => Array
                        (
                            [1x] => https://ps.w.org/akismet/assets/icon-128x128.png?rev=969272
                            [2x] => https://ps.w.org/akismet/assets/icon-256x256.png?rev=969272
                            [default] => https://ps.w.org/akismet/assets/icon-256x256.png?rev=969272
                        )

                    [banners] => Array
                        (
                            [1x] => https://ps.w.org/akismet/assets/banner-772x250.jpg?rev=479904
                            [default] => https://ps.w.org/akismet/assets/banner-772x250.jpg?rev=479904
                        )

                    [banners_rtl] => Array
                        (
                        )

                )

            [hello.php] => stdClass Object
                (
                    [id] => w.org/plugins/hello-dolly
                    [slug] => hello-dolly
                    [plugin] => hello.php
                    [new_version] => 1.6
                    [url] => https://wordpress.org/plugins/hello-dolly/
                    [package] => https://downloads.wordpress.org/plugin/hello-dolly.1.6.zip
                    [icons] => Array
                        (
                            [1x] => https://ps.w.org/hello-dolly/assets/icon-128x128.jpg?rev=969907
                            [2x] => https://ps.w.org/hello-dolly/assets/icon-256x256.jpg?rev=969907
                            [default] => https://ps.w.org/hello-dolly/assets/icon-256x256.jpg?rev=969907
                        )

                    [banners] => Array
                        (
                            [1x] => https://ps.w.org/hello-dolly/assets/banner-772x250.png?rev=478342
                            [default] => https://ps.w.org/hello-dolly/assets/banner-772x250.png?rev=478342
                        )

                    [banners_rtl] => Array
                        (
                        )

                )

            [jetpack/jetpack.php] => stdClass Object
                (
                    [id] => w.org/plugins/jetpack
                    [slug] => jetpack
                    [plugin] => jetpack/jetpack.php
                    [new_version] => 5.7.1
                    [url] => https://wordpress.org/plugins/jetpack/
                    [package] => https://downloads.wordpress.org/plugin/jetpack.5.7.1.zip
                    [icons] => Array
                        (
                            [1x] => https://ps.w.org/jetpack/assets/icon-128x128.png?rev=1791404
                            [2x] => https://ps.w.org/jetpack/assets/icon-256x256.png?rev=1791404
                            [svg] => https://ps.w.org/jetpack/assets/icon.svg?rev=1791404
                            [default] => https://ps.w.org/jetpack/assets/icon.svg?rev=1791404
                        )

                    [banners] => Array
                        (
                            [2x] => https://ps.w.org/jetpack/assets/banner-1544x500.png?rev=1791404
                            [1x] => https://ps.w.org/jetpack/assets/banner-772x250.png?rev=1791404
                            [default] => https://ps.w.org/jetpack/assets/banner-1544x500.png?rev=1791404
                        )

                    [banners_rtl] => Array
                        (
                        )

                )

        )

)

我希望解析数据以获得
slug
值,但我不确定如何最好地解析
stdClass
对象。任何协助都将不胜感激

WordPress将wp_选项数据存储为序列化字符串。因此,您需要取消序列化它:

$obj = unserialize($data);
但是您应该使用WordPress中的
get\u option()
函数-然后您将自动将其取消序列化

要获得插件的slug,请像这样解析对象:

foreach($obj->no_update as $plugin){
    $slug = $plugin->slug;
}

打印(未序列化($str));非常感谢。我需要在未登录WordPress的情况下检索此数据,我从以前的一些测试中注意到WordPress要求您登录才能访问其功能。@frankangelone这些功能无需登录即可访问。这取决于你在哪里使用它们——在什么“钩子”中。但是
get\u option()
应该大部分时间都可用。我明白了。如果我使用WordPress函数,它将不在WordPress上下文中。我会在我的根域文件夹中有一个独立的PHP文件,然后你需要使用原始PHP函数。WordPress函数可以在活动主题文件中使用,例如
functions.php
我已经添加了未序列化的数据版本,作为对原始问题的编辑。当循环遍历结果时,您将使用什么来获取
slug
键的值。