как расположить разные значения в массивах в php? - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть такая ситуация:

print_r($key);echo'<br>'; 
foreach($value as $test){
print_r(count($test));echo'<br>'; 
}
echo'<br>'; 

ведьма возвращает:

Jerome Frier
2
5
1

Luke Saora
5
4
6

Tracy Edion
6
1
4

я стремлюсь показать максимальное значение для каждого имени, например:

Jerome Frier          Luke Saora           Tracy Edion
    6                     5                     6

в основном принимает максимальное значение для каждого имени, сравнивающего каждую строку ..

этот звук сбивает с толку ...:)

спасибо

Ответы [ 3 ]

0 голосов
/ 02 ноября 2011

I думаю это то, что вы ищете (при условии, что $arr ваш внешний массив):

$result = array();
foreach ($arr as $key => $value) {
  echo $key . '<br />' . max($value) . '<br /><br />';
}
0 голосов
/ 02 ноября 2011

На вашем месте я бы просто использовал функцию PHP max . Если первый и единственный параметр является массивом, max () возвращает самое высокое значение в этом массиве. Если указано хотя бы два параметра, max () возвращает наибольшее из этих значений.

То есть вы либо помещаете все значения в массив и добавляете их в функцию max(), либо вставляете их одно за другим ..

$max = max($your_values); //where $your_values is an array
//or
$max = max($value1, $value2, $value3); //where $value is a single value
0 голосов
/ 02 ноября 2011

Так что, похоже, есть два вложенных цикла foreach, я прав?

Может быть, вы попробуете это, это не проверено, но в любом случае:

$array = $your_array;
$compare = array();

foreach($array as $key => $personScoreArray){
      $compare[$key] = max($personScoreArray);

}

Затем вы можете делать все что угодно со значениями в массиве $ compare. Для лучшего решения было бы неплохо немного кода или более конкретный вопрос.

...