2010-02-17 22 views
0

將數組轉換成String我怎樣才能把這個數組:過濾和使用PHP

的print_r($ ARR)

Array (
    [131] => stdClass Object 
     (
      [tid] => 131 
      [vid] => 9 
      [name] => apple 
      [description] => 
      [weight] => 0 
     ) 

    [112] => stdClass Object 
     (
      [tid] => 112 
      [vid] => 9 
      [name] => cool 
      [description] => 
      [weight] => 0 
     ) 

    [113] => stdClass Object 
     (
      [tid] => 113 
      [vid] => 9 
      [name] => wonderful 
      [description] => 
      [weight] => 0 
     ) 

) 

成這樣:

蘋果酷精彩

基本上取出數組的「名稱」變量並按順序對其進行內插。 我試過內爆,但我不知道如何只引用「名稱」變量。

+0

看一看array_map。 –

+0

不錯,我現在檢查它... – tim

回答

0
$terms = array(); 
foreach($arr as $term) { $terms[] = $term->name; } 
print implode($terms, ', '); 
+0

我得到了這個錯誤致命錯誤:[]運算符不支持字符串我正在使用drupal – tim

+0

聽起來像有一個現有的'$ terms'變量。變量名,或者執行'$ terms = array();'此代碼之前 – ceejayoz

+0

array()認爲有助於傳遞錯誤,但是我得到一個空白結果,我認爲這條語句引用了$ arr-> name,它應該引用$ arr-> anynumber ['name'] – tim

2
echo join(" ", array_map(create_function('$x', 'return $x->name;'), $arr)); 

是做什麼的一種方式

+0

由於某種原因,我不能得到這個工作...我試圖找出它 – tim

+0

它不起作用,因爲「名稱」是在一個數。 $ ARR - > ## [ 「名稱」]。這個數字可以是任意數字,比如$ arr-> 131 [「name」],$ arr-> 113 [「name」] ...你不能像它那樣引用它,比如$ arr-> name或$ arr [「name 「] – tim

+1

這就是'array_map'的全部要點 - 它將每個術語轉換爲'$ x'以便於訪問。在解僱他們之前,請檢查這些功能的文檔。 – ceejayoz