PHP如何从该数组打印单个值?
我有一个这样的数组: 数组([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”值,所以我写了两行代码: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']; 但当我加载页面时
$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'];