たとえば、私が持っている場合:
$person1 = "10";
$person2 = "-";
$person3 = "5";
数字が最も大きい人を特定し、文字列の先頭に「W」を追加し、(数値) 数字が最も小さい人を特定し、文字列の先頭に「L」を追加する必要があります。
出力しようとしています:
$person1 = "W10";
$person2 = "-";
$person3 = "L5";
たとえば、私が持っている場合:
$person1 = "10";
$person2 = "-";
$person3 = "5";
数字が最も大きい人を特定し、文字列の先頭に「W」を追加し、(数値) 数字が最も小さい人を特定し、文字列の先頭に「L」を追加する必要があります。
出力しようとしています:
$person1 = "W10";
$person2 = "-";
$person3 = "L5";
$persons = array(10, '-', '12', 34 ) ; //array of persons, you define this
$max_index = array_search($max = max($persons), $persons);
$min_index = array_search($min = min($persons), $persons);
$persons[$max_index] = 'W' . $persons[$max_index];
$persons[$min_index] = 'L' . $persons[$min_index];
print_r($persons);
それが役立つことを願っています。どの関数を使用するかについてのヒントが得られるはずです。ピース・ダニュエル
foreach((array)$persons as $index=>$value){
if(!is_numeric($value))continue;
if(!isset($max_value)){
$max_value = $value;
$max_index = $index;
}
if(!isset($min_value)){
$min_value = $value;
$min_index = $index;
}
if( $max_value < $value ){
$max_value = $value;
$max_index = $index;
}
if( $min_value > $value ){
$min_value = $value;
$min_index = $index;
}
}
@$persons[$max_index] = 'W'.$persons[$max_index];//@suppress some errors just in case
@$persons[$min_index] = 'L'.$persons[$min_index];
print_r($persons);
各変数を配列に入れてから、配列の並べ替え関数を使用します。
$people = array (
'person1' => $person1,
'person2' => $person2,
'person3' => $person3
);
asort($people);
$f = key($people);
end($people);
$l = key($people);
$people[$f] = 'L' . $people[$f];
$people[$l] = 'W' . $people[$l];
Person 1 のスコアは、次を使用して参照できます。$people_sorted['person1']
これは、人々のあらゆる組み合わせで機能する実用的なソリューションです。
$people = array (
'person1' => 4,
'person2' => 10,
'person3' => 0
);
arsort( $people); // Sort the array in reverse order
$first = key( $people); // Get the first key in the array
end( $people);
$last = key( $people); // Get the last key in the array
$people[ $first ] = 'W' . $people[ $first ];
$people[ $last ] = 'L' . $people[ $last ];
var_dump( $people);
出力:
array(3) {
["person2"]=>
string(3) "W10"
["person1"]=>
int(4)
["person3"]=>
string(2) "L0"
}