我试图将从API响应中获得的一些JSON附加到电子邮件中,并希望将JSON输出到HTML表中。问题是JSON响应与我以前使用过的任何响应都不一样。
$vs_getClickPath = wp_remote_get('url');
$clickPath_body = wp_remote_retrieve_body( $vs_getClickPath );
$notification['message'] .= $clickPath_body;
这给了我以下信息:
[
["date'/time", "page name visited", "city", "region", "country", "company name'/isp", "identity", "search'/referral"],
["2016-05-17 10:56:05", "Home Page", "Buffalo", "New York", "United States", "I-evolve Technology Services", "", ""]
]
在一个数组中,所有键都先出现,然后在另一个数组显示值。尝试使用索引只获取单个字符,foreach不起作用。我尝试过json_decode
,但它不输出print_r
或var_dump
的任何内容。
无论如何,我是否能够循环浏览并将数据输出到HTML表中?第一个数组是表头,之后的每个数组都是表行。
我使用了json_decode($str, true)
,它返回了一个可以使用的数组:
$str = '[["date'/time","page name visited","city","region","country","company name'/isp","identity","search'/referral"],["2016-05-17 10:56:05","Home Page","Buffalo","New York","United States","I-evolve Technology Services","",""]]';
$json = json_decode($str, true);
echo '<pre>';
print_r($json);
返回
Array
(
[0] => Array
(
[0] => date/time
[1] => page name visited
[2] => city
[3] => region
[4] => country
[5] => company name/isp
[6] => identity
[7] => search/referral
)
[1] => Array
(
[0] => 2016-05-17 10:56:05
[1] => Home Page
[2] => Buffalo
[3] => New York
[4] => United States
[5] => I-evolve Technology Services
[6] =>
[7] =>
)
)
在对json_decode()
的调用中设置true
会使函数返回一个数组。如果您不想要一个数组,您可以通过在调用中保留该选项来返回一个卑鄙的数组。
PHP的json_decode()
从您的输出中,结果是数组的数组
[
[
"date'/time",
"page name visited",
"city",
"region",
"country",
"company name'/isp",
"identity",
"search'/referral"
],
[
"2016-05-17 10:56:05",
"Home Page",
"Buffalo",
"New York",
"United States",
"I-evolve Technology Services",
"",
""
]
]
您可以在foreach中找到带有foreach的值。
foreach ($clickPath_body as $array) {
foreach ($array as $string) {
echo $string;
}
echo "<br>";
}