PHP根据键显示数组中对象的值

PHP根据键显示数组中对象的值,php,arrays,object,drupal-7,Php,Arrays,Object,Drupal 7,我有一个包含对象和数组的数组。如何根据对象的关键帧仅获取特定值(每个对象)? 我已经测试并显示了数组(见下文),但我无法根据需要隔离“name”值 我已尝试使用以下代码获取名称值: case 'field_prgm_housing' : $node = 'field_color'; $tids = field_get_items('node', $node, $key, $node->language); $terms = taxonomy_term_load_multiple(arra

我有一个包含对象和数组的数组。如何根据对象的关键帧仅获取特定值(每个对象)? 我已经测试并显示了数组(见下文),但我无法根据需要隔离“name”值

我已尝试使用以下代码获取名称值:

case 'field_prgm_housing' :
$node = 'field_color';
$tids =  field_get_items('node', $node, $key, $node->language);
$terms = taxonomy_term_load_multiple(array(), array('tid' => $tids));
$nameonly = $terms->[0]->name[0];
return = $nameonly;
break;      
Colors (Array, 2 elements)
    12 (Object) stdClass
      tid (String, 2 characters ) 12
      vid (String, 1 characters ) 3
      name (String, 9 characters ) Blue
      description (String, 0 characters )
      format (String, 13 characters ) filtered_html
      weight (String, 1 characters ) 0
      vocabulary_machine_name (String, 15 characters ) colors
      rdf_mapping (Array, 5 elements)
      path (Array, 1 element)
    13 (Object) stdClass
      tid (String, 2 characters ) 13
      vid (String, 1 characters ) 3
      name (String, 8 characters ) Green
      description (String, 0 characters )
      format (String, 13 characters ) filtered_html
      weight (String, 1 characters ) 0
      vocabulary_machine_name (String, 15 characters ) colors
      rdf_mapping (Array, 5 elements)
      path (Array, 1 element)

$terms->[0]
的意思是什么

$terms
是一个数组,因此您必须通过指定要获取的索引来访问它,例如:
$terms[12],$terms[13]

该数组的元素是对象,所以当您获取一个元素时,必须使用“->”操作符来获取它的字段(或方法)

所以它必须是这样的:

$nameonly = $terms[12]->name;
$nameonly = $terms[13]->name;

或者你可以像@kranthi建议的那样,通过所有数组项进行迭代。

什么
$terms->[0]
假设是什么意思

$terms
是一个数组,因此您必须通过指定要获取的索引来访问它,例如:
$terms[12],$terms[13]

该数组的元素是对象,所以当您获取一个元素时,必须使用“->”操作符来获取它的字段(或方法)

所以它必须是这样的:

$nameonly = $terms[12]->name;
$nameonly = $terms[13]->name;

或者,您可以像@kranthi建议的那样,通过所有数组项进行迭代。

如果数组的输出是$terms的var\u转储:这个应该可以使用$terms[$i]->name。(只需用相关键替换$i)
$names=array\u column($array,“name”)
这就是你要找的吗for@OfirBaruch在这种情况下,如果不是name,那么相关的键是什么?根据您的示例,$i应该是12或13。但是由于此数据是动态的,您应该找到一种方法,通过使用循环或某种条件来获取它。@Andreas在这种情况下,“$arrray”是否正确?“$nameonly=Array\u column($terms,“name”);'返回一个空数组如果数组的输出是$terms的var_转储:这个数组应该工作$terms[$i]->name。(只需用相关键替换$i)
$names=array_列($array,“name”)
这就是你要找的吗for@OfirBaruch在这种情况下,如果不是name,那么相关的键是什么?根据您的示例,$i应该是12或13。但是由于此数据是动态的,您应该找到一种方法,通过使用循环或某种条件来获取它。@Andreas在这种情况下,“$arrray”是否正确?“$nameonly=Array\u column($terms,“name”);'返回一个空数组。我正在switch语句中操作,每个语句都会抛出错误。因此,我需要在其他地方使用这些值,当我将它们用作$nameonly变量时;这在foreach中是可能的吗?这是我迄今为止尝试过的,但它只显示了第一个值:foreach($terms as$term){$name=$term->name;}$return[$key]=$name;$name=array();foreach($terms as$term){$name[]=$term->name;}return$name;我在switch语句中操作,每个语句都会抛出错误。我需要在其他地方使用这些值,因此当我将它们用作$nameonly变量时,它们才可用;foreach是否可以这样做?这是我迄今为止尝试过的,但它只显示了第一个值:foreach($terms as$term){$name=$term->name;}$return[$key]=$name;$name=array();foreach($terms as$term){$name[]=$term->name;}return$name;