Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Maykel-ctba

Montar array multidimensional

Recommended Posts

Fala galera!

 

Preciso gerar um array neste formato:

Array
(
    [files] => Array
        (
            [0] => Array
                (
                    [id] => 50
                    [legenda] => 
                    [crop] => Array
                        (
                            [0] => top-left => Array
                            	(
                                	[0] => selected
                                )
                            [1] => top
                            [2] => top-right
                            [3] => left
                            [4] => center
                            [5] => right
                            [6] => bottom-left
                            [7] => bottom
                            [8] => bottom-right
                        )

                    [ordem] => 1
                    [name] => 20150309182714.jpeg
                    [size] => 462963
                    [url] => /upload/imagem/20150309182714.jpeg
                    [thumbnailUrl] => /upload/imagem/thumbnail/20150309182714.jpeg
                    [deleteUrl] => /common/lib/multiple-upload/?file=20150309182714.jpeg
                    [deleteType] => DELETE
                )
        )
)

Porém, o que tenho feito está gerando assim (atentem para o indice CROP > top-left do exemplo acima e este):

Array
(
    [files] => Array
        (
            [0] => Array
                (
                    [id] => 50
                    [legenda] => 
                    [crop] => Array
                        (
                            [0] => top-left
                            [1] => Array
                                (
                                    [0] => selected
                                )

                            [2] => top
                            [3] => top-right
                            [4] => left
                            [5] => center
                            [6] => right
                            [7] => bottom-left
                            [8] => bottom
                            [9] => bottom-right
                        )

                    [ordem] => 1
                    [name] => 20150309182714.jpeg
                    [size] => 462963
                    [url] => /upload/imagem/20150309182714.jpeg
                    [thumbnailUrl] => /upload/imagem/thumbnail/20150309182714.jpeg
                    [deleteUrl] => /common/lib/multiple-upload/?file=20150309182714.jpeg
                    [deleteType] => DELETE
                )
        )
)

Meu código:

function optSelected ($Selected, $Value) {
	return ($Selected == $Value ? true : false);
}
$options = array(
	1 => 'top-left',
	 'top',
	 'top-right',
	 'left',
	 'center',
	 'right',
	 'bottom-left',
	 'bottom',
	 'bottom-right'
);

foreach($resultado as $registro)
{
	$arrayInfo['files'][$contadorArray]['id'] = $registro['imgId'];
	$arrayInfo['files'][$contadorArray]['legenda'] = $registro['imgLegenda'];
	
	$listaOption = "";
	
	foreach ($options as $key => $option){
		$listaOption[] = $option;
		if(optSelected($registro['imgCrop'], $option)){
			$listaOption[][] = "selected"; // * Aqui quero que crie o índice
		}
	}
	
	$arrayInfo['files'][$contadorArray]['crop'] = $listaOption;
	$arrayInfo['files'][$contadorArray]['ordem'] = $registro['imgOrdem'];
	$arrayInfo['files'][$contadorArray]['name'] = $registro['imgUrl'];
	$arrayInfo['files'][$contadorArray]['size'] = filesize("../../../upload/imagem/".$registro['imgUrl']);
	$arrayInfo['files'][$contadorArray]['url'] = "/upload/imagem/".$registro['imgUrl'];
	$arrayInfo['files'][$contadorArray]['thumbnailUrl'] = "/upload/imagem/thumbnail/".$registro['imgUrl'];
	$arrayInfo['files'][$contadorArray]['deleteUrl'] = "/common/lib/multiple-upload/?file=".$registro['imgUrl'];
	$arrayInfo['files'][$contadorArray]['deleteType'] = "DELETE";
	
	$contadorArray++;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

---

Resolvido.

foreach ($options as $key => $option){
	$listaOption[$key]['name'] = $option;
	if(optSelected($registro['imgCrop'], $option)){
		$listaOption[$key]['selected'] = true;
	}
	else{
		$listaOption[$key]['selected'] = false;
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.