2016-06-22 5 views
-2

Ich habe ein Array mit folgenden Feldern Name und Anzahl.Wie man Elemente dynamisch Höhe gibt

Ich möchte dynamische Höhe und Breite abhängig von der Anzahl der Array mit PHP oder Javascript geben.

Ich habe maximale und minimale Höhe auch so vordefiniert, also brauchen Sie nur eine Funktion, die Höhe für alle zurückgeben kann.

Zum Beispiel mein Array ist:

$arr = array(
    array('name'=>'a','count'=>'2'), 
    array('name'=>'b','count'=>'3'), 
    array('name'=>'c','count'=>'1'), 
    array('name'=>'d','count'=>'2') 
); 

a - 2 
b - 3 
c - 1 
d - 2 

Lassen Sie uns meine min annehmen. Höhe ist 110 und max. Höhe 150

so c kleinsten ist, so wird seine Höhe ist 110 und b größte so seine Höhe 150

und sein wird, und d denselben Wert haben, so sollte als 130 gleiche Höhe zwischen den beiden

und es sollte dynamisch sein, so kann für jede nicht funktionieren. der Zählung und irgendein Nr. Variablen.

Wie kann ich das alles mit 1 Funktion machen?

Bitte legen nahe, einige Link oder etwas

+0

Wh bei Funktion haben Sie bisher für diesen Zweck erstellt? – Ben

+0

Ich suche Ich brauche einen Weg, es zu tun Ruhe Ich werde Funktion machen Ich will den Weg wissen –

Antwort

1

Dieser Code berechnen Höhe auf Basis des Wertes der Zählung Artikel

$arr = array(
    array('name'=>'a','count'=>'2'), 
    array('name'=>'b','count'=>'3'), 
    array('name'=>'c','count'=>'1'), 
    array('name'=>'d','count'=>'2') 
); 

$cnt = array_column($arr, 'count'); 

$cnt_min = min($cnt); 
$cnt_max = max($cnt); 
$min = 110; 
$max = 150; 

foreach($arr as &$item) 
    $item['heaight'] = $min + floor(($item['count']-$cnt_min)*($max-$min)/($cnt_max-$cnt_min)); 

print_r($arr); 
0

Dies würde Ihnen die gewünschte Höhe nach Ihrer Beschreibung $height = (110 + ($arr["a"]["count"] * 10))."px"; Dann können Sie so oder so verwenden Sie kennen Ihre HTML zu füllen, wie nur einen Inline-Stil hinzuzufügen, wenn Sie echo es: <div class = "yourClass" style = "height:'.$height.';"></div>

Verwandte Themen