2017-03-04 6 views
1

ich einige Code habe in einer 1 Dimension Array zu arbeiten:1 Upgrade-Dimension Array 2 Dimension Array

$colour_array = [ 
    "1" => "#9E2A2B", 
    "2" => "#3E5C76", 
    "3" => "#335C67", 
]; 

$colour1 = $colour_array[$colourdata]; 
... 

ich für jede Zahl in meinem Array zu speichern zwei Farben in der Lage sein, so etwas wie dies habe ich schon einige Dinge ausprobiert, nach dem Vorbild dieses:

$colour_array = [ 
    "1" => "#9E2A2B","#3E5C76", 
    "2" => "#3E5C76","#3E5C76", 
    "3" => "#335C67","#3E5C76", 
]; 

$colour1 = $colour_array[$colourdata[1]]; 
$colour2 = $colour_array[$colourdata[2]]; 

aber ich weiß nicht wirklich verstehen, Multi-Dimension-Arrays.

+2

Sie Ihre Werte wickeln: ' "# 9E2A2B", "# 3E5C76"' in ein Array: '[ "# 9E2A2B"," # 3E5C76 "]' ?! – Rizier123

Antwort

2

Sie Arrays in Array erstellen können:

$colour_array = array(
    "1" => array("#9E2A2B","#3E5C76"), 
    "2" => array("#3E5C76", "#3E5C76"), 
    "3" => array("#335C67", "#3E5C76") 
); 

Oder mit zugehörigen Arrays

$colour_array = array(
    "1" => array("red" => "#9E2A2B","bleu" => "#3E5C76"), 
    "2" => array("green" => "#3E5C76", "orange" => "#3E5C76"), 
    "3" => array("purple" => "#335C67","yellow" => "#3E5C76") 
); 

var_export($colour_array); 

Ausgang:

array (
    1 => 
    array (
    'red' => '#9E2A2B', 
    'bleu' => '#3E5C76', 
), 
    2 => 
    array (
    'green' => '#3E5C76', 
    'orange' => '#3E5C76', 
), 
    3 => 
    array (
    'purple' => '#335C67', 
    'yellow' => '#3E5C76', 
), 
) 

Wenn Sie zugreifen möchten einen gewissen Wert, ich würde zum Beispiel so etwas tun:

echo $colour_array[1]['blue']; 

Ausgang:

# 3E5C76

Hoffe, es hilft!

PS: Die Hex-Werte stimmen hier nicht mit den Farbnamen überein. Es ist nur für das Beispiel.

+0

Hallo, vielen Dank dafür. Es sieht gut aus, aber ich gebe in dieses Array eine Zahl ein, dh 1, 2 oder 3 als meinen '' $ colourdata''' Wert und ich hoffte, dass ich etwas wie $ colour_array [1] [ 1]; um eine Farbe zu bekommen, verstehe ich es nicht wirklich mit den Namen - ist es möglich, zu Zahlen zurückzukehren? - Ah, ich sehe, es ist jetzt bearbeitet, wie adressiere ich die erste, um den Wert zu erhalten, wenn wir keine Namen verwenden? – Jimmy

+0

@Jimmy Ja, sehe die letzte Bearbeitung meiner Antwort. Die erste Lösung ist wie du willst. Greifen Sie darauf mit '$ colour_array [1] [1]' zu. Für den Namen ist das Array so verknüpft, wie Sie es in der ersten Ebene oder in Ihrem Array verwenden. Schlüsselwerte werden anstelle von Ganzzahlen durch Namen ersetzt. – JazZ

+0

Das ist perfekt, danke – Jimmy

1

bitte versuchen Sie dieses vielleicht verwendet, um dieses für Sie

$colour_array = [ 
     "1" => "#9E2A2B", 
     "2" => "#3E5C76", 
     "3" => "#335C67", 
    ]; 
    foreach ($colour_array as $key => $color) { 
     echo "<pre>"; print_r($color); 
     $colour_array[$key] = array(); 
     array_push($colour_array[$key], $color); 
     array_push($colour_array[$key], "#ffffff"); 

    } 
    echo "<pre>"; print_r($colour_array); 
Verwandte Themen