Поскольку объект также является принятым ответом (как указано в комментариях выше), вы также можете просто использовать reduce
и обернуть данные в новый объект:
Вы все еще можете сократить количество шагов для выполнения вещи, хотя вышеприведенное довольно легко читается. если в «а» (который является пустым объектом в начале) статус уже существует, то увеличьте его. В противном случае установите его на единицу и продолжайте, пока массив не будет полностью зациклен.
{status}
(второй параметр) получает значение ключа status
текущего зацикленного объекта, эквивалентное item.status
.
Например:
// Changed the query - there's no need for DISTINCT
// and aliased the count as "num"
$data = mysql_query('SELECT COUNT(`users_id`) AS num FROM `users_table`') or die(mysql_error());
// A COUNT query will always return 1 row
// (unless it fails, in which case we die above)
// Use fetch_assoc for a nice associative array - much easier to use
$row = mysql_fetch_assoc($data);
// Get the number of uses from the array
// 'num' is what we aliased the column as above
$numUsers = $row['num'];
Кроме того, альтернатива с использованием mysqli, которую вы должны использовать в любом случае для интерполяции параметров:
$statement = $connection->prepare($the_query_from_above);
$statement->execute();
$statement->bind_result($nr_of_users);
$statement->fetch();