Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 - Fatal编程技术网

Php 确定使用最多的变量/字段

Php 确定使用最多的变量/字段,php,Php,如果我有一个具有以下结构的数组,我需要确定使用最多的描述 因此,在本例中,您可以看到猫在第一组和第四组中使用,因此Description->Feline将是答案,因为它使用最多。如何在PHP中编写脚本以输出该答案 因此,如果我在下面有一个名为$stuff的数组: Array ( [1] => Array ( [Title] => Cat [Description] => Feline [Age] => 7

如果我有一个具有以下结构的数组,我需要确定使用最多的描述

因此,在本例中,您可以看到猫在第一组和第四组中使用,因此Description->Feline将是答案,因为它使用最多。如何在PHP中编写脚本以输出该答案

因此,如果我在下面有一个名为$stuff的数组:

 Array (

 [1] => Array (
        [Title] => Cat
        [Description] => Feline
        [Age] => 7

        ) 

 [2] => Array (
        [Title] => Dog
        [Description] => Canine
        [Age] => 8

        )

 [3] =>
       Array (
        [Title] => Birdie
        [Description] => Winged Beast of the Air
        [Age] => Eternal
       )

 [4] =>  
       (     
        [Title] => Kitten
        [Description] => Feline
        [Age] => 1
       )

 )
我发现这个代码:

 $c = array_count_values($stuff); 
 $val = array_search(max($c), $c);
但这行不通,因为我只需要计算描述字段,而不是所有字段。那么,我如何进入并缩小范围或收紧范围,以便我只计算并获得匹配描述的数量呢

我的想法是尝试:

 $c = array_count_values($stuff['Description']); 
 $val = array_search(max($c), $c);

但那没用。我还遗漏了什么吗?

请检查以下内容:-

<?php
$stuff =  Array (
 '1' => Array (
        'Title' => 'Cat',
        'Description' => 'Feline',
        'Age' => 7

        ),
    '2' => Array (
        'Title' => 'Dog',
        'Description' => 'Caine',
        'Age' => 8

        ),
    '3' => Array (
        'Title' => 'Birdie',
        'Description' => 'Winged Beast of the Air',
        'Age' => 'Eternal'

        ),
 '4' => Array (     
        'Title' => 'Kitten',
        'Description' => 'Feline',
        'Age' => 1,
       )

 );


$description_count = array();
foreach ($stuff as $key=>$value) {
  // check and add to the description_count array
  if (isset($description_count[$value['Description']])) {
    $description_count[$value['Description']]++;
  }
  // if not exist then initialize 1
  else $description_count[$value['Description']] = 1;

 //in single line you can do it 
  $description_count[$value['Description']] = isset($description_count[$value['Description']]) ? $description_count[$value['Description']]++ : 1;
}
echo "<pre/>";print_r($description_count);

什么是
$stuff
?那是你的阵列吗?是的。为清晰起见,编辑。我无法理解您的要求。这是我的更新评估,您可以看到我的问题。谢谢你回来查看。不管怎样,我都会投你的票。我只是不知道如何进行后续检查。你检查我的代码了吗?还是你自己写的?因为你有两个错误:-1.
$description\u count=array()
foreach
之前未定义。2.
foreach($key=>$var)必须是
foreach($key=>$value)
。谢谢。谢谢你的补充。玩得开心。:):)