[英]PHP How to print a single value from this Array?
我有一个像这样的数组:
数组([0] => a:39:{s:2:“ id”; s:6:“ 703981”; s:4:“名称”; s:10:“ Bilton Apt”; s:7:“地址”; s:25:“天堂大道哈特大道”; s:3:“ zip”; s:2:“ PO”; s:10:“ city_hotel”; s:11:“ Montego .... etc ...
而且我想在页面中打印“名称”值,所以我写了这两行代码:
$item = get_post_meta($post->ID, '_ihfc_hotel');
echo $item['name'];
但是当我加载页面时,我收到此错误:
注意:未定义的索引:/ Applications / MAMP / htdocs / wp_test_csv / wp-content / themes / twenty ....等中的名称
我尝试了其他解决方案,例如:
echo $item[0]['name']; or echo $item[0]->['name']:
但是没有办法
有人可以帮我吗?
正如乔恩·斯特林(Jon Stirling)和u_mulder所说,您的数组包含一个序列化的值,并且示例中显示的唯一值是索引0。因此,由于示例字符串被....etc...
剪短,所以我只能回答什么是已知的。
$data = unserialize($item[0]);
print_r($data);
echo $data['name'] // Bilton Apt
这应该做到这一点。
您需要对数组进行反序列化,如注释中所述:
$ar = unserialize($item[0]);
echo $ar['name'];
您可以将其放入循环中,以获取多维数组中的所有值:
foreach($item as $key=>$value){
$ar[$key] = unserialize($value);
}
然后访问它:
echo $ar[0]['name'];
你的意思是:
<?php
$name = get_post_meta($post->ID, '_ihfc_hotel', true);
echo $name;
除此以外
<?php
$data = get_post_meta($post->ID, '_ihfc_hotel', true);
$data = unserialize($data);
var_dump($data);
var_dump($data['name']);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.