[英]Extract [cat_ID] from array PHP
我有以下数组(只是完整数组的一部分),我想提取[cat_ID]的值。
Array ([1] => stdClass Object ( [term_id] => 21 [name] => z_aflyst [slug] => z_aflyst
[term_group] => 0 [term_taxonomy_id] => 23 [taxonomy] => category
[description] => [parent] => 0 [count] => 1 [object_id] => 7 [cat_ID] => 21
[cat_name] => z_aflyst ))
所以我需要在这种情况下提取21。 不过,我只想提取cat_ID
如果cat_name
等于z_aflyst
。
给你一个对象数组:
Array (
[1] => stdClass Object
(
[term_id] => 21
[name] => z_aflyst
[slug] => z_aflyst
[term_group] => 0
[term_taxonomy_id] => 23
[taxonomy] => category
[description] =>
[parent] => 0
[count] => 1
[object_id] => 7
[cat_ID] => 21
[cat_name] => z_aflyst )
)
foreach ($items as $item)
{
if($item->cat_name == 'z_aflyst')
{
//do stuff
}
}
您的数组在此示例中只是一个简单的数组,是一个标准对象 。 你可以利用这一点。 您可以通过以下公式获得标准对象的属性:
$object->property;
在你的情况下,对象是
$object = $array[1];
或者通过这个公式作为数组
$array[key];
在你的情况下,获取cat_ID的值:
$object->cat_ID;
所以你的代码将是这样的:
if ($object->cat_name == 'z_aflyst') {
// do stuff with your cat_ID value
echo $object->cat_ID;
}
// will echo 21 only of the cat_name has value 'z_aflyst'
您有一组标准对象 ,可以使用箭头(对象)运算符->
访问这些属性。
您可以使用array_filter()
过滤掉数组中不需要的元素:
// Assuming your array is called $items
$filtered = array_filter($items, function($v) {
return $v->cat_name === 'z_aflyst';
});
之后,您可以使用array_map()
“展平”数组,以便它只包含cat_ID(如果您愿意):
$filtered = array_map(function($v) {
return $v->cat_ID;
}, $filtered);
这将为您提供一个一维的索引数组cat_IDs。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.