Php 计算重复的“;usuario#u cidade”;多维

Php 计算重复的“;usuario#u cidade”;多维,php,multidimensional-array,count,Php,Multidimensional Array,Count,请帮我写个密码。我有这个多维数组,需要计算usuario\u cidadecase的值,其值如下: 数组52=(2)Cidade_1,(2)Cidade_2,(1)Cidade_3 试试这个 $your_array = array(); $usuario_cidade = array(); foreach ($your_array as $key => $values){ foreach($values as $value){ $usuario_cidade[$k

请帮我写个密码。我有这个多维数组,需要计算
usuario\u cidade
case的值,其值如下:

数组52=(2)Cidade_1,(2)Cidade_2,(1)Cidade_3

试试这个

$your_array = array(); 
$usuario_cidade = array();
foreach ($your_array as $key => $values){
    foreach($values as $value){
        $usuario_cidade[$key][$value->usuario_cidade]=isset($usuario_cidade[$key][$value->usuario_cidade]) ? $usuario_cidade[$key][$value->usuario_cidade] : '0' + 1;
    }   
}
print_r($usuario_cidade);
请尝试以下代码:

//Create object array format as per question scenario for testing...
$arrObject1 = new stdClass();
$arrObject1->funcionario_id = '52';
$arrObject1->usuario_cidade = 'Cidade_1';

$arrObject2 = new stdClass();
$arrObject2->funcionario_id = '52';
$arrObject2->usuario_cidade = 'Cidade_1';

$arrObject3 = new stdClass();
$arrObject3->funcionario_id = '52';
$arrObject3->usuario_cidade = 'Cidade_2';

$arrObject4 = new stdClass();
$arrObject4->funcionario_id = '52';
$arrObject4->usuario_cidade = 'Cidade_3';

$arrObject5 = new stdClass();
$arrObject5->funcionario_id = '52';
$arrObject5->usuario_cidade = 'Cidade_2';


//Finalize array...
$varArray = array('52' => array(
    $arrObject1, $arrObject2, $arrObject3, $arrObject4, $arrObject5
));


$arrResult = array();
//Loop until main array...
foreach($varArray AS $arrKey => $arrObjVal){
        //Loop for object values...
        foreach($arrObjVal AS $ocjKey => $objVal){
            //Check for specific key(i.e. value of usuario_cidade) exist into result array...
            if(array_key_exists($objVal->usuario_cidade, $arrResult)){
                //Increment value if exist...
                $arrResult[$objVal->usuario_cidade] = $arrResult[$objVal->usuario_cidade] + 1;      
            }
            else {
                //Initialize value of result array...
                $arrResult[$objVal->usuario_cidade] = 1;
            }
        }


}

print('<pre>');
print_r($arrResult);
print('</pre>');

希望这对你有帮助

嘿,请检查此代码,它给出的答案与给定的条件相同

        $main_array[52] = array(

         0 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_1'
         ),
         1 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_1'
         ),
         2 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_2'
         ),
         3 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_3'
         ),
         4 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_2'
         )

     );

     $check_array = array();
     $count_array = array();
     foreach ($main_array as $main){
       foreach($main as $data){
        if(in_array($data['usuario_cidade'], $check_array)){
         $count_array[$data['usuario_cidade']] = $count_array[$data['usuario_cidade']] + 1;
        }else{
         array_push($check_array,$data['usuario_cidade']);
         $count_array[$data['usuario_cidade']] = 1;

        }
       } 
     }

    foreach($count_array as $key => $value){
     echo $key.'='.$value.'<br />'; 
    }
      echo "<pre>"; print_r($count_array);
以上问题的答案将是


数组(3){[“Cidade_1”]=>int(2)[“Cidade_2”]=>int(2)[“Cidade_3”]=>int(1)}你能检查一下吗

$main_数组[52]=数组(
0=>数组(
“Functionario_id”=>52,
“usuario_cidade”=>“cidade_1”
),
1=>数组(
“Functionario_id”=>52,
“usuario_cidade”=>“cidade_1”
),
2=>数组(
“Functionario_id”=>52,
“usuario_cidade”=>“cidade_2”
),
3=>数组(
“Functionario_id”=>52,
“usuario_cidade”=>“cidade_3”
),
4=>数组(
“Functionario_id”=>52,
“usuario_cidade”=>“cidade_2”
)
);
$check_array=array();
$count_array=array();
foreach($main_数组作为$main){
foreach($main作为$data){
if(在数组中($data['usuario\u cidade',$check\u数组)){
$count_数组[$data['usuario_cidade']]=$count_数组[$data['usuario_cidade']]+1;
}否则{
数组推送($check\u array,$data['usuario\u cidade']);
$count_数组[$data['usuario_cidade']]=1;
}
} 
}
foreach($count_数组为$key=>$value){
回显$key.'='.$value.'
; } 回声“;打印(计数数组);
请检查我的答案,这可能会对您有所帮助。消息:正在尝试获取非对象数组([52]=>Array([]=>1)数组([52]=>Array([Cidade]=>1))的属性没有错误,但它没有进行正确的计数-它的读数就在小数组中错误消息是什么,请与我共享。消息:未定义索引:usuario_cidade Array([]=>3)很乐意帮助您。如果这是您的解决方案,请接受我的回答。
[Cidade_1] => 2
[Cidade_2] => 2
[Cidade_3] => 1
$arr = array();
$arr2 = array('funcionario_id' => 52,'usuario_cidade' => 'Cidade_1' );
$arr3 = array('funcionario_id' => 52,'usuario_cidade' => 'Cidade_1' );
$arr4 = array('funcionario_id' => 52,'usuario_cidade' => 'Cidade_2' );
$arr5 = array('funcionario_id' => 52,'usuario_cidade' => 'Cidade_3' );
$arr6 = array('funcionario_id' => 52,'usuario_cidade' => 'Cidade_2' );

$arr = [$arr2,$arr3,$arr4,$arr5,$arr6];
$cidaed = array('Cidade_1' => 0, 'Cidade_2' => 0 , 'Cidade_3' => 0 );
$count = 0;
//echo var_dump($arr);

foreach ($arr as $key => $value) {
    foreach ($value as $keys => $values) {
        if($keys == 'usuario_cidade')
        {
            $cidaed[$values] += 1;
        }
    }

}

echo var_dump($cidaed);
        $main_array[52] = array(

         0 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_1'
         ),
         1 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_1'
         ),
         2 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_2'
         ),
         3 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_3'
         ),
         4 => array(
          'funcionario_id' => 52,
          'usuario_cidade' => 'Cidade_2'
         )

     );

     $check_array = array();
     $count_array = array();
     foreach ($main_array as $main){
       foreach($main as $data){
        if(in_array($data['usuario_cidade'], $check_array)){
         $count_array[$data['usuario_cidade']] = $count_array[$data['usuario_cidade']] + 1;
        }else{
         array_push($check_array,$data['usuario_cidade']);
         $count_array[$data['usuario_cidade']] = 1;

        }
       } 
     }

    foreach($count_array as $key => $value){
     echo $key.'='.$value.'<br />'; 
    }
      echo "<pre>"; print_r($count_array);