Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Count - Fatal编程技术网

Php 如何计算数组中的值?

Php 如何计算数组中的值?,php,arrays,count,Php,Arrays,Count,我在一个列表中有多个值,现在我想计算100在这个列表中出现的次数(使用PHP) 我的PHP代码: <table class="widefat" style="margin-top:50px;"> 我希望输出为: 1 100 (1) Times 100 (0) Times 100 (2) Times 2 100 (1) Times 100 (0) Times 100 (2) Times 3 1

我在一个列表中有多个值,现在我想计算100在这个列表中出现的次数(使用PHP)

我的PHP代码:

<table class="widefat" style="margin-top:50px;">
我希望输出为:

1      100 (1) Times
       100 (0) Times
       100 (2) Times


2      100 (1) Times
       100 (0) Times
       100 (2) Times

3      100 (1) Times
       100 (0) Times
       100 (2) Times

您可以使用array\u count\u values($array)获得另一个数组上所有值的计数以及结果

例如:

$count = array_count_values( $array );

echo "$a comes " . $count[$a] . ' times' ;
$count = array_count_values( $array );

if ( $a == 100 )
  echo "$a comes " . $count[$a] . ' times' ;
如果你只想知道一个值,只要做一个If

例如:

$count = array_count_values( $array );

echo "$a comes " . $count[$a] . ' times' ;
$count = array_count_values( $array );

if ( $a == 100 )
  echo "$a comes " . $count[$a] . ' times' ;
编辑:

更多说明:

这是要计算值的数组

$array = array(12,14,12,100,5,100);
然后使用array\u count\u values()获取另一个数组上的值

$count = array_count_values( $array );
现在,您可以执行循环以获取所有值

foreach( $array as $a ){

  echo "$a comes " . $count[$a] . " times <br/>" ;

}
您可以将$count[$a]更改为$count[100](循环外)以获取100在数组中的时间

echo "100 comes " . $count[100] . " times" ;
将打印

100 comes 2 times
你可以在这里获得更多信息。

您可以使用array\u count\u values($array)获得另一个数组上所有值的计数结果

例如:

$count = array_count_values( $array );

echo "$a comes " . $count[$a] . ' times' ;
$count = array_count_values( $array );

if ( $a == 100 )
  echo "$a comes " . $count[$a] . ' times' ;
如果你只想知道一个值,只要做一个If

例如:

$count = array_count_values( $array );

echo "$a comes " . $count[$a] . ' times' ;
$count = array_count_values( $array );

if ( $a == 100 )
  echo "$a comes " . $count[$a] . ' times' ;
编辑:

更多说明:

这是要计算值的数组

$array = array(12,14,12,100,5,100);
然后使用array\u count\u values()获取另一个数组上的值

$count = array_count_values( $array );
现在,您可以执行循环以获取所有值

foreach( $array as $a ){

  echo "$a comes " . $count[$a] . " times <br/>" ;

}
您可以将$count[$a]更改为$count[100](循环外)以获取100在数组中的时间

echo "100 comes " . $count[100] . " times" ;
将打印

100 comes 2 times
你可以在这里获得更多信息。

您可以使用和的组合,在逗号上拆分值,并保留值为100的值

例如:

$items = [
    1 => [
        "33,55,88,100,66,4",
        "45,45,58,49,49,4",
        "100,100,50,49,80,4"
    ],
    2 => [
        "33,55,88,100,66,4",
        "45,45,58,49,49,4",
        "100,100,50,49,80,4"
    ],
    3 => [
        "33,55,88,100,66,4",
        "45,45,58,49,49,4",
        "100,100,50,49,80,4"
    ],
];

foreach ($items as &$item) {
    $item = array_map(function ($x) {
        $res = array_filter(array_count_values(
            explode(',', $x)
        ), function ($key) {
            return $key === 100;
        }, ARRAY_FILTER_USE_KEY);
        return sprintf("100 (%s) Times", count($res) === 1 ? $res[100] : 0);
    }, $item);
}

print_r($items);
结果

Array
(
    [1] => Array
        (
            [0] => 100 (1) Times
            [1] => 100 (0) Times
            [2] => 100 (2) Times
        )

    [2] => Array
        (
            [0] => 100 (1) Times
            [1] => 100 (0) Times
            [2] => 100 (2) Times
        )

    [3] => Array
        (
            [0] => 100 (1) Times
            [1] => 100 (0) Times
            [2] => 100 (2) Times
        )

)

您可以使用和的组合,在逗号上拆分值,并保留值为100的值

例如:

$items = [
    1 => [
        "33,55,88,100,66,4",
        "45,45,58,49,49,4",
        "100,100,50,49,80,4"
    ],
    2 => [
        "33,55,88,100,66,4",
        "45,45,58,49,49,4",
        "100,100,50,49,80,4"
    ],
    3 => [
        "33,55,88,100,66,4",
        "45,45,58,49,49,4",
        "100,100,50,49,80,4"
    ],
];

foreach ($items as &$item) {
    $item = array_map(function ($x) {
        $res = array_filter(array_count_values(
            explode(',', $x)
        ), function ($key) {
            return $key === 100;
        }, ARRAY_FILTER_USE_KEY);
        return sprintf("100 (%s) Times", count($res) === 1 ? $res[100] : 0);
    }, $item);
}

print_r($items);
结果

Array
(
    [1] => Array
        (
            [0] => 100 (1) Times
            [1] => 100 (0) Times
            [2] => 100 (2) Times
        )

    [2] => Array
        (
            [0] => 100 (1) Times
            [1] => 100 (0) Times
            [2] => 100 (2) Times
        )

    [3] => Array
        (
            [0] => 100 (1) Times
            [1] => 100 (0) Times
            [2] => 100 (2) Times
        )

)

我有一个变量$a,当我回显这个值时,他们会打印这个值。echo$a;我有一个变量$a,当我回显这个值时,他们会打印这个值。echo$a;数组([0]=>0)数组([0]=>33)数组([0]=>44)数组([0]=>100)数组([0]=>33)数组([0]=>66)数组([0]=>100)数组([0]=>12);如何使用这个数组数到100?@RohitYaduvanshi我更新了答案,希望对你有所帮助。数组([0]=>0)数组([0]=>33)数组([0]=>44)数组([0]=>100)数组([0]=>33)数组([0]=>66)数组([0]=>100)数组([0]=>12);如何使用此阵列数到100?@RohitYaduvanshi我更新了答案,希望对您有所帮助。