2010-02-17 33 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