Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更正foreach循环并获得所需的数组数?_Php_Pchart - Fatal编程技术网

Php 如何更正foreach循环并获得所需的数组数?

Php 如何更正foreach循环并获得所需的数组数?,php,pchart,Php,Pchart,我将一种颜色放入数组中,用一种颜色覆盖每个条形图颜色,但它没有按预期工作,数组有问题 我最初的问题是:如何在pChart中将数组推送到条形图并使用单色覆盖颜色 更新问题:打印结果显示额外的2组数组,它应该只是一个包含数组的数组,而不是更深的数组,这些数组是从哪里添加的?我如何纠正它 PHP/pChart: $prop_open=(1,5,8,4,2,66); $j=0; $palette_cycle=array(); foreach($prop_open as $value) { ar

我将一种颜色放入数组中,用一种颜色覆盖每个条形图颜色,但它没有按预期工作,数组有问题

我最初的问题是:如何在pChart中将数组推送到条形图并使用单色覆盖颜色

更新问题:打印结果显示额外的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\u周期的结果:

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 ) ) )
试试这个

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++;
}   

也许可以尝试使用如下阵列:

$j=0;
$palette_cycle=array();
foreach($prop_open as $value) {
   $palette_cycle[] = array("R"=>108,"G"=>157,"B"=>49,"Alpha"=>100);
}
1,使用整数索引而不是字符串索引
2,不需要数组推送

我用($I=0;$i108,“G”=>157,“B”=>49,“Alpha”=>100))的
算出了它但是谢谢!是的,我使用推送的唯一原因是因为我记不起其他方法了,谢谢!
$j=0;
$palette_cycle=array();
foreach($prop_open as $value) {
   $palette_cycle[] = array("R"=>108,"G"=>157,"B"=>49,"Alpha"=>100);
}