簡體   English   中英

PHP如何從此數組打印單個值?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM