我正在使用包含多个“时隙”对象的数组$ timeslotlist。每个时隙有多个值,其中之一是“状态”。我无法弄清楚如何计算具有特定状态的时隙数量。如何计算具有特定值的数组中的对象(PHP)
我想做一些类似于count_array_values($ timeslotlist)的事情,并以具有所有可能的键和它们发生的次数的数组结束,但我遇到了问题,因为数组填充了对象。
我留下了用于我正在寻找每个值创建新的阵列,并通过与时隙阵列迭代和添加那些我正在寻找到新的数组的值:
$complete = array();
$incomplete = array();
foreach ($timeslotlist->timeslot as $timeslot) {
if ($timeslot->status == 'complete') {
$complete[]=$timeslot;
}
elseif ($timeslot->status == 'incomplete') {
$incomplete[] = $timeslot;
}
}
$incomplete_count = count($incomplete);
$complete_count = count($complete);
有没有更快/更简单的方法来处理数组中的对象?
感谢您的帮助!
您是否需要'$ incomplete'和'$ complete'数组或者他们的计数? – BoltClock 2011-03-02 08:11:56
因为如果没有,你可以只做$ incomplete_count ++我猜...否则我认为没有更简单的方法来运行一个对象来获取对象的变量...有array_walk可以准备一个小函数但我认为你不能将它应用于对象。 – Tobias 2011-03-02 08:16:43
只需查找数组的个数。我不需要完整的阵列。是的,这是真的,这将使我无法制作数组并对它们进行计数。 – tnichols 2011-03-02 08:19:24