PHP如何从该数组打印单个值?

PHP如何从该数组打印单个值?,php,arrays,serialization,Php,Arrays,Serialization,我有一个这样的数组: 数组([0]=>a:39:{s:2:“id”;s:6:“703981”;s:4:“名称”;s:10:“比尔顿公寓”;s:7:“地址”;s:25:“哈特大道,天堂英亩”;s:3:“邮编”;s:2:“PO”;s:10:“城市酒店”;s:11:“蒙特戈……等等 我想在页面中打印“name”值,所以我写了两行代码: $item = get_post_meta($post->ID, '_ihfc_hotel'); echo $item['name']; 但当我加载页面时

我有一个这样的数组:

数组([0]=>a:39:{s:2:“id”;s:6:“703981”;s:4:“名称”;s:10:“比尔顿公寓”;s:7:“地址”;s:25:“哈特大道,天堂英亩”;s:3:“邮编”;s:2:“PO”;s:10:“城市酒店”;s:11:“蒙特戈……等等

我想在页面中打印“name”值,所以我写了两行代码:

 $item = get_post_meta($post->ID, '_ihfc_hotel'); 
 echo $item['name'];
但当我加载页面时,我收到以下错误:

注意:未定义的索引:name in/Applications/MAMP/htdocs/wp\u test\u csv/wp content/themes/two…等

我尝试了其他解决方案,如:

echo $item[0]['name']; or echo $item[0]->['name']:
但这一切都不管用

有人能帮我吗?

你是说:

<?php 

 $name = get_post_meta($post->ID, '_ihfc_hotel', true); 
 echo $name;

正如Jon Stirling和u_mulder所说,数组包含一个序列化值,示例中显示的唯一值是索引0。
因此,由于您的示例字符串被
…等截短,
我只能回答已知的问题

$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'];

你需要一个数组。你的数组包含序列化的值。根据wordpress手册的
$single
设置为false,因为可能有更多的值。谢谢,这是我需要的。
echo $ar[0]['name'];