[英]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.