php - 遍历php中未序列化的wordpress选项数组
问题描述
我试图最终从这个对象数组中获取 wordpress 插件 slug 和新版本值。我做了很多研究并尝试了很多例子,但没有一个真正显示这种数组格式。我对索引结构感到困惑。帮助表示赞赏。
这是未序列化的 wordpress 数据中的数组结构片段。
stdClass Object
(
[last_checked] => 1594309667
[response] => Array
(
[advanced-custom-fields/acf.php] => stdClass Object
(
[id] => w.org/plugins/advanced-custom-fields
[slug] => advanced-custom-fields
[plugin] => advanced-custom-fields/acf.php
[new_version] => 5.8.12
[url] => https://wordpress.org/plugins/advanced-custom-fields/
[package] => https://downloads.wordpress.org/plugin/advanced-custom-fields.5.8.12.zip
[icons] => Array
(
[2x] => https://ps.w.org/advanced-custom-fields/assets/icon-256x256.png?rev=1082746
[1x] => https://ps.w.org/advanced-custom-fields/assets/icon-128x128.png?rev=1082746
)
[banners] => Array
(
[2x] => https://ps.w.org/advanced-custom-fields/assets/banner-1544x500.jpg?rev=1729099
[1x] => https://ps.w.org/advanced-custom-fields/assets/banner-772x250.jpg?rev=1729102
)
[banners_rtl] => Array
(
)
[tested] => 5.4.2
[requires_php] => 5.4
[compatibility] => stdClass Object
(
)
)
[amp/amp.php] => stdClass Object
(
[id] => w.org/plugins/amp
[slug] => amp
[plugin] => amp/amp.php
[new_version] => 1.5.5
[url] => https://wordpress.org/plugins/amp/
[package] => https://downloads.wordpress.org/plugin/amp.1.5.5.zip
[icons] => Array
(
[2x] => https://ps.w.org/amp/assets/icon-256x256.png?rev=1987390
[1x] => https://ps.w.org/amp/assets/icon-128x128.png?rev=1987390
)
[banners] => Array
(
[2x] => https://ps.w.org/amp/assets/banner-1544x500.png?rev=1987390
[1x] => https://ps.w.org/amp/assets/banner-772x250.png?rev=1987390
)
[banners_rtl] => Array
(
)
[tested] => 5.4.2
[requires_php] => 5.6
[compatibility] => stdClass Object
(
)
)
[edit-author-slug/edit-author-slug.php] => stdClass Object
(
[id] => w.org/plugins/edit-author-slug
[slug] => edit-author-slug
[plugin] => edit-author-slug/edit-author-slug.php
[new_version] => 1.7.0
[url] => https://wordpress.org/plugins/edit-author-slug/
[package] => https://downloads.wordpress.org/plugin/edit-author-slug.1.7.0.zip
[icons] => Array
(
[2x] => https://ps.w.org/edit-author-slug/assets/icon-256x256.png?rev=1582213
[1x] => https://ps.w.org/edit-author-slug/assets/icon.svg?rev=1582213
[svg] => https://ps.w.org/edit-author-slug/assets/icon.svg?rev=1582213
)
[banners] => Array
(
[2x] => https://ps.w.org/edit-author-slug/assets/banner-1544x500.png?rev=1581739
[1x] => https://ps.w.org/edit-author-slug/assets/banner-772x250.png?rev=1582213
)
[banners_rtl] => Array
(
)
[tested] => 5.4.2
[requires_php] => 5.6.20
[compatibility] => stdClass Object
(
)
)
[essential-addons-for-elementor-lite/essential_adons_elementor.php] => stdClass Object
(
[id] => w.org/plugins/essential-addons-for-elementor-lite
[slug] => essential-addons-for-elementor-lite
[plugin] => essential-addons-for-elementor-lite/essential_adons_elementor.php
[new_version] => 4.0.4
[url] => https://wordpress.org/plugins/essential-addons-for-elementor-lite/
[package] => https://downloads.wordpress.org/plugin/essential-addons-for-elementor-lite.4.0.4.zip
[icons] => Array
(
[2x] => https://ps.w.org/essential-addons-for-elementor-lite/assets/icon-256x256.png?rev=2285897
[1x] => https://ps.w.org/essential-addons-for-elementor-lite/assets/icon-128x128.png?rev=2285897
)
[banners] => Array
(
[2x] => https://ps.w.org/essential-addons-for-elementor-lite/assets/banner-1544x500.gif?rev=2317134
[1x] => https://ps.w.org/essential-addons-for-elementor-lite/assets/banner-772x250.gif?rev=2317134
)
[banners_rtl] => Array
(
)
[tested] => 5.4.2
[requires_php] => 5.4
[compatibility] => stdClass Object
(
)
)
[gravity-forms-google-analytics-event-tracking/gravity-forms-event-tracking.php] => stdClass Object
(
[id] => w.org/plugins/gravity-forms-google-analytics-event-tracking
[slug] => gravity-forms-google-analytics-event-tracking
[plugin] => gravity-forms-google-analytics-event-tracking/gravity-forms-event-tracking.php
[new_version] => 2.3.10
[url] => https://wordpress.org/plugins/gravity-forms-google-analytics-event-tracking/
[package] => https://downloads.wordpress.org/plugin/gravity-forms-google-analytics-event-tracking.2.3.10.zip
[icons] => Array
(
[2x] => https://ps.w.org/gravity-forms-google-analytics-event-tracking/assets/icon-256x256.png?rev=1777199
[1x] => https://ps.w.org/gravity-forms-google-analytics-event-tracking/assets/icon-128x128.png?rev=1777199
)
[banners] => Array
(
[2x] => https://ps.w.org/gravity-forms-google-analytics-event-tracking/assets/banner-1544x500.png?rev=1777199
[1x] => https://ps.w.org/gravity-forms-google-analytics-event-tracking/assets/banner-772x250.png?rev=1777199
)
[banners_rtl] => Array
(
)
[upgrade_notice] => <p>Prevent empty values to be sent to analytics when using partial entries.</p>
[tested] => 5.4.2
[requires_php] => 5.6
[compatibility] => stdClass Object
(
)
)
我尝试了这个,但得到的错误是 slug 和新版本都是未定义的索引。
foreach($plugins_us as $item) {
echo $item['slug'];
echo $item['new_version'];
// to know what's in $item
echo '<pre>'; var_dump($item);
}
解决方案
您尝试从中获取这些值的对象不是数组,而是一个通用对象,这就是为什么您无法使用其索引访问该值的原因。尝试将它们作为类的属性访问:
echo $item->slug;
echo $item->new_version;
推荐阅读
- python - 蟒蛇协助
- python - Python 3 比较列表变量
- typescript - 如何在 GraphQL 的解析器中获取输入类型的数组
- reactjs - Jest中带有参数的测试函数作为匿名函数
- c++ - c++ openssl 1.1.0l:使用单个 x509 存储支持不同的自签名证书
- ios - 在不从 App Store 发布的情况下更新 iOS 应用程序
- amazon-dynamodb - 未找到 DynamoDB 项目时的 RCU 消耗
- arrays - 根据条件获取数组值
- flutter - 我似乎无法将 auth.dart 文件中的令牌传递给我的 Provider 类
- typescript - 如何在打字稿中创建数据集,如.NET