Ciao a tutti
Avrei bisogno di trovare il valore massimo di un array e salvare la chiave in una variabile.
Se il valore massimo è presente in più chiavi salvarle in più variabili.
Ciao a tutti
Avrei bisogno di trovare il valore massimo di un array e salvare la chiave in una variabile.
Se il valore massimo è presente in più chiavi salvarle in più variabili.
Utilizza max() per trovare il valore massimo e poi un ciclo (o soluzione equivalente, es. array_intersect) per salvare in un array tutte le chiavi che ti servono.
Riusciresti a farmi un esempio completo? Non sono molto pratico di array!
Grazie mille!
Codice PHP:
<?php
static $maxValue = 0;
$array = array(1,2,3,4,5,6,7);
function getMaximum($item, $key) {
$maxValue = ($item >$maxValue) ? $item : $maxValue;
}
array_walk_recursive($array, 'getMaximum');
?>
lol no :-o
titolo fuorviante :-o
sry il codice non va bene .-.
Codice PHP:
//al posto di $my_array metti il nome dell'array
$indici_max = array();
$max = -1;
//trovo il massimo
foreach( $my_array as $k => v ) if($v > $max) $max = $v;
//creo un array che contiene le chiavi in cui il valore è uguale al valore del massimo
echo "posizione massimi:
";
foreach ( $my_array as $k=>v ){
if( $v == $max ) {
$a_max[] = $k;
echo "- $k ;
";
}
}
Codice PHP:
<pre>
<?php
$values = array(0, 1, 2, 3, 4, 2, 3, 4, 3, 4);
$ids = array_keys(array_intersect($values, array(max($values))));
print_r($ids);
?>
</pre>
Grazie mille filippo.toso
é esattamente quello che mi serviva!