0
我想从一个数组,如 array =(“apple”,“apple”,“banana”,“apple”) 到2d数组 Array =(“apple”,3),(“banana”,1)计数次数值出现在数组中php
我有下面的代码,它会一直返回0.我哪里错了?
$result = mysqli_query($con, "SELECT * FROM Entries WHERE Trial=$trial");
$activities = array();
while($row = mysqli_fetch_assoc($result))
{
$activityCatID = $row['Activity'];
$resulting = mysqli_query($con,"SELECT ActivityCategory FROM Activity WHERE ActivityID=$activityCatID");
array_push($activities, mysqli_fetch_assoc($resulting));
}
if(sizeof($activities) > 0)
{
$act_and_count = array();
$temp = $activities[0];
for($ii = 0; $ii < sizeof($activities); $ii++)
{
if(!search_array($activities[$ii], $act_and_count))
{
$temp = $activities[$ii];
$cnt = count(array_filter($activities, create_function('$a', 'return $a==\'' .$temp. '\';')));
$act_and_count[] = array("Activity" => $activities[$ii], "Count" => $cnt);
}
}
}
'array_count_values()'也许?或者让你的SQL为你做计数 –
首先使用PDO,然后在SQL级别进行计数,你应该获得更好的性能 –
如果字段中的值不知道,如何在SQL中执行它,在特定试验下的所有数据都会返回两种类型的活动,但是不同的试验可能会返回更多或更少类型的试验? –