2017-01-29 2 views
0

Я ищу способ явного изменения некоторых ключей массива, поскольку они всегда будут одинаковыми, а длина массива будет всегда одинаковой, а затем выводит один ключ на основе самого низкого значения. Вот где я нахожусь:Изменение ключей массива на определенные строки

Сам код массива выглядит следующим образом:

$t = array($low_score_1,$low_score_2,$low_score_3,$low_score_4,$low_score_5,$low_score_6,$low_score_7,$low_score_8); 

Выходной пример:

array(8) { [0]=> string(2) "11" [1]=> string(2) "15" [2]=> string(2) "13" [3]=> string(2) "12" [4]=> string(2) "18" [5]=> string(2) "16" [6]=> string(2) "16" [7]=> string(2) "14" } 

Так что я хочу изменить все 8 ключей к каждому из них будет определенную строку , Поэтому мне нужно изменить ключи, а затем вывести только ключ наименьшего значения в массиве. Я могу только на выходе момента величина из самых низких в массиве так:

echo min($t); 

И из массива выше вы можете увидеть, что 11 является самым низким, так что это одна я хочу показать, НО КА а не стоимость ...

UPDATE

мне удалось установить ключи и вывести обе клавиши со своими ретроспективных парами, но я просто хочу, чтобы показать самое низкое значение по ключу.

 $t = array(
     'a' => $low_score_1, 
     'b' => $low_score_2, 
     'c' => $low_score_3, 
     'd' => $low_score_4, 
     'e' => $low_score_5, 
     'f' => $low_score_6, 
     'g' => $low_score_7, 
     'h' => $low_score_8, 
     ); 

reset($t); 
while (list($key, $val) = each($t)) { 
    echo "$key => $val\n"; 
} 

Выходной сигнал этого выглядит следующим образом:

a => 11 b => 15 c => 13 d => 12 e => 18 f => 16 g => 16 h => 14 
+0

И по какой причине? Это очень ясно, в чем моя цель. И я попытался добраться до своей цели, но мне просто нужен совет ... admin, пожалуйста, изучите, почему это было уменьшено ... – PhpDude

+0

Не было downvote, но это простой «findMinimum 'проблема –

+0

@OfirBaruch, как вы относитесь к сожалению? Im, котор нужно найти минимально никакую проблему, котор я хочу сделать, то установите ключи поэтому 0 будет score_1, 1 станет score_2 и после этого выведите kay вместо значения ... – PhpDude

ответ

1

Как уже упоминалось, это просто 'найти минимальную' проблему. Только то, что вы хотите сохранить ключ минимального значения.

 $t = array($low_score_1,$low_score_2,$low_score_3,$low_score_4,$low_score_5,$low_score_6,$low_score_7,$low_score_8); 

    //Setting new keys   
$t2 = array(); 
    foreach($t as $key => $val){ 
    $key2 = 'score_' . ($key+1); 
    $t2[$key2] = $val; 
    } 

//Finding the minimum 
$min = $t2['score_1']; 
$min_key = 0; 

    foreach($t2 as $key => $val){ 
     if($val < $min){ 
     $min = $val; 
     $min_key = $key; 
    } 
    } 
     //output 
     print_r($t2); 
     echo $min; // the min value 
     echo $min_key; // the key of the min value 
+0

Im получая выход значения '147'. – PhpDude

+0

Я хочу изменить ключи на конкретные имена строк, а затем просто вывести самое низкое значение из массива, но по его ключу, а не по значению. – PhpDude

+0

Всего в секундах, проверяя что-то –

Смежные вопросы