Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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,foreach(for)循环中具有多值的键的总计数_Php_Api_For Loop_Count - Fatal编程技术网

php,foreach(for)循环中具有多值的键的总计数

php,foreach(for)循环中具有多值的键的总计数,php,api,for-loop,count,Php,Api,For Loop,Count,从RESTAPI中,我使用 $return= json_decode($response, true); 每个数组中的同一个键有2个值,例如: ['some1']=>array( [0]=> array(['data']=>0) [1]=> array(['data']=>1) ) 。。 我做了一个for循环来显示['data']的值,结果是0或1。现在我想计算整个数组中['data']的总数0或1。我该怎么做? 这是我的for循环,看起来像: fo

从RESTAPI中,我使用

$return= json_decode($response, true);
每个数组中的同一个键有2个值,例如:

['some1']=>array(
   [0]=> array(['data']=>0)
   [1]=> array(['data']=>1)
)
。。 我做了一个for循环来显示
['data']
的值,结果是0或1。现在我想计算整个数组中
['data']
的总数0或1。我该怎么做?
这是我的for循环,看起来像:

for ($i = 0; $i < count($return['some1']); $i++){
    echo  $return['some1'][$i]['data'] ."<br/>" ;}
谢谢,

$count\u 0=0;
$count_0 = 0;
$count_1 = 0;
for ($i = 0; $i < count($return['some1']); $i++){
    if ($return['some1'][$i]['data'] == 0) {
        $count_0++;
    }
    if ($return['some1'][$i]['data'] == 1) {
        $count_1++;
    }
}
echo $count_0;
echo '<br/>';
echo $count_1;
$count_1=0; 对于($i=0;$i”; echo$count_1;
$count\u 0=0;
$count_1=0;
对于($i=0;$i”;
echo$count_1;

如果您想知道“数据”的每个值重复了多少次,您可以使用以下方法来跟踪:

// Your input data
$data = array(
    'some1' => array(
        array('data' => 0),
        array('data' => 1),
        array('data' => 1),
        array('data' => 1),
        array('data' => 0)
    )
);

// Store the result
$result_array = array();

// Count each unique value for 'data'
foreach ($data['some1'] as $key => $value) {
    if ( ! isset($result_array[$value['data']])) {
        $result_array[$value['data']] = 0;
    }
    $result_array[$value['data']]++;
}

// Display unqiue results & their respective counts
print_r($result_array);

示例:

如果您想知道“数据”的每个值重复了多少次,您可以使用以下方法来跟踪:

// Your input data
$data = array(
    'some1' => array(
        array('data' => 0),
        array('data' => 1),
        array('data' => 1),
        array('data' => 1),
        array('data' => 0)
    )
);

// Store the result
$result_array = array();

// Count each unique value for 'data'
foreach ($data['some1'] as $key => $value) {
    if ( ! isset($result_array[$value['data']])) {
        $result_array[$value['data']] = 0;
    }
    $result_array[$value['data']]++;
}

// Display unqiue results & their respective counts
print_r($result_array);

示例:

只需提取
数据列
并计算值。该键将包含值(0或1),该值将包含计数:

$counts = array_count_values(array_column($return['some1'], 'data'));
echo $counts[0]; // return the count of 0s
echo $counts[1]; // return the count of 1s

如果其中有2个,则
$counts[2]
将包含它们的计数等。

只需提取
数据列并对值进行计数。该键将包含值(0或1),该值将包含计数:

$counts = array_count_values(array_column($return['some1'], 'data'));
echo $counts[0]; // return the count of 0s
echo $counts[1]; // return the count of 1s

如果您有2个,那么
$counts[2]
将包含一个计数,等等。

您需要0+1+1等的总数吗。。。或者你需要知道有多少个1吗?那不是同一个数字吗,@VA79?所有
1
s的计数与所有
1
s的总和相同。@Qirel您也可以对所有1进行计数,然后乘以1得到总和:这是真的…:我需要一些睡眠!抱歉:)哈哈,真的@Don'tPanic:-)去罗马的路有很多!你需要0+1+1等的总数吗。。。或者你需要知道有多少个1吗?那不是同一个数字吗,@VA79?所有
1
s的计数与所有
1
s的总和相同。@Qirel您也可以对所有1进行计数,然后乘以1得到总和:这是真的…:我需要一些睡眠!抱歉:)哈哈,真的@Don'tPanic:-)去罗马的路有很多!谢谢Abracadver,您的解决方案也起作用了。:-)谢谢Abracadver,您的解决方案也起作用了。:-)我明白了,我很欣赏你使用foreach循环而不是for循环,但是你的解决方案是打印一个数组而不是一个数字。然而,上面的解决方案返回的数字正是我所需要的。你能改变你的代码以数字的形式返回总数吗?我明白了,我很欣赏你使用foreach循环而不是for循环,但是你的解决方案是打印一个数组而不是一个数字。然而,上面的解决方案返回的数字正是我所需要的。您可以更改代码以将总数作为数字返回吗?