Erro de Array

estou montando uma array e esta dando erro: porém ao testar informar que é um array…
Alguma sugestão?

//initialize the field///////////////////////
$array = ‘’;
$p = 0;
$v = 0;

if (false == {rs}) // Error while accessing database
{
sc_error_message(‘Error while accessing database.’);
}
else
{
while(!$rs->EOF)
{
$v = $rs->fields[0];

	$array .= "'$p'=>['color'=>[205,205,205], 'value'=> $v],";
	$p++;

	$rs->MoveNext();

}

$rs->Close();

}

$array = rtrim($array, ‘,’);

//print_r($array);
//echo is_array(Array($array)) ? ‘Array’ : ‘not an Array’; ESSE TESTE INFORMA QUE É UM ARRAY
//echo “\n”;

return Array($array); AQUI ESTÁ MEU RETORNO QUE É EXATAMENTE A STRING ABAIXO…

SE EU PEGO E RETORNO ESSE ARRAY DE BAIXO FUNCIONA, PORÉM ESSE CONTEÚDO É EXATAMENTE O QUE ESTA RETORNANDO ACIMA…MAS ESTA DANDO ERRO…

//return Array(‘0’=>[‘color’=>[205,205,205], ‘value’=> -42000.00],‘1’=>[‘color’=>[205,205,205], ‘value’=> -34967.13],‘2’=>[‘color’=>[205,205,205], ‘value’=> -27371.62],‘3’=>[‘color’=>[205,205,205], ‘value’=> -19168.48],‘4’=>[‘color’=>[205,205,205], ‘value’=> -10309.08],‘5’=>[‘color’=>[205,205,205], ‘value’=> -740.94],‘6’=>[‘color’=>[205,205,205], ‘value’=> 9592.66],‘7’=>[‘color’=>[205,205,205], ‘value’=> 20752.95],‘8’=>[‘color’=>[205,205,205], ‘value’=> 32806.06],‘9’=>[‘color’=>[205,205,205], ‘value’=> 45823.42],‘10’=>[‘color’=>[205,205,205], ‘value’=> 59882.16],‘11’=>[‘color’=>[205,205,205], ‘value’=> 75065.61],‘12’=>[‘color’=>[205,205,205], ‘value’=> 91463.73],‘13’=>[‘color’=>[205,205,205], ‘value’=> 109173.70],‘14’=>[‘color’=>[205,205,205], ‘value’=> 128300.47],‘15’=>[‘color’=>[205,205,205], ‘value’=> 148957.39],‘16’=>[‘color’=>[205,205,205], ‘value’=> 171266.85],‘17’=>[‘color’=>[205,205,205], ‘value’=> 195361.07],‘18’=>[‘color’=>[205,205,205], ‘value’=> 221382.83],‘19’=>[‘color’=>[205,205,205], ‘value’=> 249486.33],‘20’=>[‘color’=>[205,205,205], ‘value’=> 279838.11],‘21’=>[‘color’=>[205,205,205], ‘value’=> 312618.03],‘22’=>[‘color’=>[205,205,205], ‘value’=> 348020.35],‘23’=>[‘color’=>[205,205,205], ‘value’=> 386254.85],‘24’=>[‘color’=>[205,205,205], ‘value’=> 427548.11],‘25’=>[‘color’=>[205,205,205], ‘value’=> 472144.84]);

Jean,

O que vc está montando não é um Array, é uma string. Quando vc dá um array($string) ele cria um array com 1 posição e toda a string dentro desta posição. Por isso seu teste está acusando um array mas na verdade o miolo dele não é array, entende?

Experimente testar com o var_dump e o

 q vc vai ter uma visão mais clara do array com 1 elemento de string.
echo '<pre>';
echo var_dump($array);
echo '</pre>';

Agora se vc quiser montar realmente o array precisa mudar sua estrutura e estas linhas que fazem concatenação de string:

$array .= "'$p'=>['color'=>[205,205,205], 'value'=> $v],";

False se compara com ===

Realmente a montagem como array esta incorreta.

compreendi…ja estou corrigindo…
obrigado…
posto o resultado assim que finalizar…

O André Lemos me orientou…

if (false == {rs}) // Error while accessing database
{
sc_error_message(‘Error while accessing database.’);
}
else
{
$array = array();
foreach($rs as $value){

	$array[] = array('color'=>array(205,205,205) , 'value' => $value[0]);


}

}

return $array;

Isso ai jean. Foi ajustado a montagem do array. Mais ou menos no caminho que o Eliel também ja havia apontado.