I have the following array which contains both objects and arrays. How do I get only the specific values (for each object) based on their keys? I've tested and the array is displaying (see below) but I cannot isolate the 'name" value as needed.
I have tried the following code to get the name value:
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)
Try this
$node = 'field_color';
$tids = field_get_items('node', $node, $key, $node->language);
$terms = taxonomy_term_load_multiple(array(), array('tid' => $tids));
//loop all the values and get the require value
$name = array();
foreach($terms as $term){
$name[] = $term->name;
}
return $name;
What $terms->[0]
suppose to mean?
$terms
is an array, so you have to access it by specifying the index you want to get, like: $terms[12], $terms[13]
...
Elements of that array are object so when you get one you have to use "->" operator to get it's field (or method).
So it has to be like:
$nameonly = $terms[12]->name;
$nameonly = $terms[13]->name;
Or you can iterate trough all the array items, as @kranthi suggested.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.