Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从关联数组中计算唯一值_Php_Mysql_Arrays - Fatal编程技术网

Php 从关联数组中计算唯一值

Php 从关联数组中计算唯一值,php,mysql,arrays,Php,Mysql,Arrays,首先,谢谢你的帮助 我在这里和其他论坛上花了无数个小时试图找到我的确切答案,但要么1)我不理解我读过的答案,要么2)我没有找到正确的答案 在PHP中,我运行了一个有点复杂的查询,它返回一组记录,类似于: id | name | direction| 1 aaa east 2 bbb west 3 ccc east 我创建了一个关联数组,例如: $query=("select * from foo"); $result=mysql_query($query)

首先,谢谢你的帮助

我在这里和其他论坛上花了无数个小时试图找到我的确切答案,但要么1)我不理解我读过的答案,要么2)我没有找到正确的答案

在PHP中,我运行了一个有点复杂的查询,它返回一组记录,类似于:

id | name | direction| 
1    aaa    east
2    bbb    west
3    ccc    east
我创建了一个关联数组,例如:

$query=("select * from foo");
$result=mysql_query($query);
$array=mysql_fetch_assoc($result);
现在,我需要做的似乎很简单,但出于某种原因,我没有掌握这个概念。 我需要循环遍历整个$array并返回我想要指定的任何值的计数,并将该计数存储在变量中

i、 e.显示east在“方向”列中出现的次数,并将其放入名为
$eastcount
的变量中

我尝试过使用带有递增计数的
foreach
循环的各种组合,也尝试过使用
array\u count\u values
但无法将各个部分组合起来://

这应该行得通(很抱歉,我在iPhone上没有代码块)

$array=array(1,“你好”,1,“世界”,“你好”); 打印(数组计数值($array))

排列 ( [1] => 2 [你好]=>2 [世界]=>1 )

这应该行得通(很抱歉,我在iPhone上没有代码块)

$array=array(1,“你好”,1,“世界”,“你好”); 打印(数组计数值($array))

排列 ( [1] => 2 [你好]=>2 [世界]=>1
)

首先,你应该改用mysqli。但是,无论如何,我希望这是有意义的

if ($result) {
    $count = 0;
    while ( $row = mysql_fetch_assoc($result)) {
        if ($row["route"] === "east") {
            $count += 1;
        }
    }
    return $count;
}

首先,你应该改用mysqli。但是,无论如何,我希望这是有意义的

if ($result) {
    $count = 0;
    while ( $row = mysql_fetch_assoc($result)) {
        if ($row["route"] === "east") {
            $count += 1;
        }
    }
    return $count;
}
这个怎么样:

query=("select * from foo");
$result=mysql_query($query);

$directions = array();

while($direction = mysql_fetch_assoc($result) {
   $directions[] = $direction['direction'];
}

$directionCounts = array_count_values($directions);

//now you can access your counts like this:
    echo $directionCounts['east'];
这个怎么样:

query=("select * from foo");
$result=mysql_query($query);

$directions = array();

while($direction = mysql_fetch_assoc($result) {
   $directions[] = $direction['direction'];
}

$directionCounts = array_count_values($directions);

//now you can access your counts like this:
    echo $directionCounts['east'];

向我们展示您尝试过的内容通常,我已经尝试了两天,因此列出所有内容还需要5天:)我无法轻松获得计数,因为实际结果集来自子查询…
mysql\u fetch\u assoc
仅获取一行注意:
mysql\u
函数已弃用。请改用
mysqli
pdo
。另外……我不想给mysql的查询增加时间,因为它需要经常运行,每次都会越来越长。我宁愿从数组中提取信息给我们看看你是怎么想的,我已经尝试了两天,所以列出所有内容还需要5天:)我不能那么容易地获得计数,因为实际结果集是从子查询中获取的…
mysql\u fetch\u assoc
只获取一行注意:
mysql\u
函数已弃用。请改用
mysqli
pdo
。另外……我不想给mysql的查询增加时间,因为它需要经常运行,每次都会越来越长。我宁愿从阵列中提取信息。很高兴它对你有用。希望你能给它一个答案:)很高兴它对你有用。希望您能将其作为答案奖励:)