2012-04-25 4 views
2

단일 색상으로 모든 막대 그래프 색상을 재정의하기 위해 배열에 단일 색상을 밀고 있지만 의도 한대로 작동하지 않습니다. 배열에 문제가 있습니다.foreach 루프를 수정하고 원하는 배열 수를 얻는 방법은 무엇입니까?

내 원래 질문 : 배열을 barChart로 밀어 넣고 pChart에서 단색으로 재정의하는 방법은 무엇입니까?

질문 : print_r 결과는 추가로 2 세트의 배열을 보여 주며 배열을 포함하는 배열 일뿐 아니라 더 깊어지지 않습니다. 어떻게 수정합니까?

PHP/pChart :

$prop_open=(1,5,8,4,2,66); 

$j=0; 
$palette_cycle=array(); 
foreach($prop_open as $value) { 
    array_push($palette_cycle,array("$j"=>array("R"=>108,"G"=>157,"B"=>49,"Alpha"=>100))); 
    $j++; 
} 

$palette=$palette_cycle; 
$myPicture->drawBarChart(array("OverrideColors"=>$palette,"DisplayOrientation"=>ORIENTATION_HORIZONTAL,"DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_MANUAL,"DisplayR"=>0,"DisplayG"=>0,"DisplayB"=>0,"Surrounding"=>-60,"InnerSurrounding"=>60)); 

이 내 $의 palette_cycle 배열이 완료 후보고 결국 방법이다 (그러나 모든 RGB는 동일) : $의 palette_cycle에 대한

$palette_cycle = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100), 
       "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100), 
       "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100), 
       "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100), 
       "4"=>array("R"=>176,"G"=>46,"B"=>224,"Alpha"=>100), 
       "5"=>array("R"=>224,"G"=>46,"B"=>117,"Alpha"=>100), 
       "6"=>array("R"=>92,"G"=>224,"B"=>46,"Alpha"=>100), 
       "7"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100)); 

인 print_r 결과 :

Array ( 
[0] => Array ([0] => Array ([R] => 108 [G] => 157 [B] => 49 [Alpha] => 100)) 
[1] => Array ([1] => Array ([R] => 108 [G] => 157 [B] => 49 [Alpha] => 100)) 
[2] => Array ([2] => Array ([R] => 108 [G] => 157 [B] => 49 [Alpha] => 100)) 
[3] => Array ([3] => Array ([R] => 108 [G] => 157 [B] => 49 [Alpha] => 100)) 
[4] => Array ([4] => Array ([R] => 108 [G] => 157 [B] => 49 [Alpha] => 100)) 
[5] => Array ([5] => Array ([R] => 108 [G] => 157 [B] => 49 [Alpha] => 100))) 

답변

0

이 대신

시도
foreach($prop_open as $value) { 
array_push($palette_cycle,"$j"=>array("R"=>108,"G"=>157,"B"=>49,"Alpha"=>100)); 
$j++; 
} 

없는 경우,

foreach($prop_open as $value) { 
$palette_cycle[$j] = array("R"=>108,"G"=>157,"B"=>49,"Alpha"=>100); 
$j++; 
} 
+0

나는 ($ i = 0; $ i 108, "G"=> 157, "B" => 49, "Alpha"=> 100));}'그러나 감사합니다! –

+0

np, 당신이 그것을 알아 낸 것을 기쁘게 – squarephoenix

1

어쩌면이 같은 배열로 작업하려고 시도 :

$j=0; 
$palette_cycle=array(); 
foreach($prop_open as $value) { 
    $palette_cycle[] = array("R"=>108,"G"=>157,"B"=>49,"Alpha"=>100); 
} 

1, 정수 인덱스 대신 문자열 인덱스를 사용하여 2, array_push이 필요하지

+0

그래, 나는 그것을 사용하는 다른 방법을 기억하지 못했기 때문에 내가 푸시를 사용하는 유일한 이유는, 감사합니다! –

관련 문제