我正在尝试从我的API中提取JSON数据,并从每个键中获取数据以便在HTML / CSS中很好地显示.现在无法获取数据.
这是我的db对象:
[
{
"_id":"54bd5fbb646174009a450001",
"productname":"Product 1",
"overview":"Overview Title",
"benefits":
[
"List item 1",
"List item 2",
"List item 3"
]
}
]
我找到了this answer here,并且var_dump正常工作,它在页面上显示我的db对象.
这是我更新的wordpress PHP插件:
<?PHP
add_shortcode('mis', function($atts, $data) {
$service_url = 'http://local.web.tt.com:8615/api/users';
// Initiate curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$service_url);
$result=curl_exec($ch);
curl_close($ch);
// Will dump a beauty json :3
// var_dump(json_decode($result, true));
$data = (json_decode($result, true));
var_dump($data);
$data = add_shortcode (
array(
'name' => 'name',
'overview' => 'overview',
'benefits' => 'benefits'
), $data
);
extract($data);
$content .='
<style>li { margin-left: 20px; }</style>
<h2>$name</h2>
<p>$overview</p>
<ul>
<li>$data["benefits"][0]</li>
<li>$data["benefits"][2]</li>
</ul>';
return $content;
});
但是我无法获取数据:
这是我的问题所在:
$data = (json_decode($result, true));
var_dump($data);
$data = add_shortcode (
array(
'name' => 'name',
'overview' => 'overview',
'benefits' => 'benefits'
), $data
);
extract($data);
$content .='
<style>li { margin-left: 20px; }</style>
<h2>$name</h2>
<p>$overview</p>
<ul>
<li>$data["benefits"][0]</li>
<li>$data["benefits"][1]</li>
</ul>';
return $content;
如何从var_dump中获取数据到$content变量中的右键/变量?
解决方法:
这部分代码很奇怪 – 它打算做什么?
$data = add_shortcode (
array(
'name' => 'name',
'overview' => 'overview',
'benefits' => 'benefits'
), $data
);
extract($data);
要访问您的数据,您可以这样做
$data[0]['productname']
你还有一个字符串内的输出变量(在”里面).要将数据输入输出,请尝试:
$data = (json_decode($result, true));
var_dump($data);
$product = $data[0];
$content = '<style>li { margin-left: 20px; }</style>';
$content .='<h2>' . $product['productname'] . '</h2>
<p>' . $product['overview'] . '</p>
<ul>
<li>' . $product["benefits"][0] . '</li>
<li>' . $product["benefits"][1] . '</li>
</ul>';
或者循环:
$data = (json_decode($result, true));
$content = '<style>li { margin-left: 20px; }</style>';
foreach($data as $product) {
$content .='<h2>' . $product['productname'] . '</h2>
<p>' . $product['overview'] . '</p>
<ul>';
foreach($product['benefits'] as $benefit) {
$content .= '<li>' . $benefit . '</li>';
}
$content .= '</ul>';
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。