这是我想要的,但无法弄清楚如何。
$ a是这个数组 PHP代码:
Array
(
[0] => stdClass Object
(
[id] => i1
[cat] => Test1
)
[1] => stdClass Object
(
[id] => i2
[cat] => Test2
)
[2] => stdClass Object
(
[id] => i3
[cat] => Test3
)
[3] => stdClass Object
(
[id] => i4
[cat] => Test4
)
}
这是数组,它有与之关联的std类。我想要做的是将所有“cat”名称组合成一个数组变量。
我想将$ categories作为数组,将所有这些“cat”作为数组值。
我该怎么做?
答案 0 :(得分:3)
array_map($a, function(stdClass $o) { return $o->cat; });
答案 1 :(得分:1)
一种简单的方法就是遍历数组,获取所需的值。还有其他更好的方法,但我喜欢保持简单。
$categories = array();
foreach ($a as $obj) {
$categories[] = $obj->cat;
}
当然,如果并非所有数组项都是该对象,那么检查cat
属性是否存在(并且$obj
是stdClass
!)可能是值得的。
答案 2 :(得分:0)
只需循环并创建一个新数组......
<?php
$newArray = array();
foreach($a as $cat) {
$newArray[$cat->id] = $cat->cat;
}
var_dump($newArray);