Comunidad de diseño web y desarrollo en internet online

Array KEYS y... #fail xD

Citar            
MensajeEscrito el 29 Dic 2010 07:18 am
Bueno tengo una duda... mas bien me quede atorado en mi codigo.

Explico...

Mi función recibe dos arrays... los cuales uno son los keys.. y otro el contenido...
hago una...
Código :

Código PHP :

$mainArray [] = array_combine($auxArrayTitles,$auxArrayConten);



Ahi va todo bien.. ahora tengo que pasar el $mainArray para aplicarle un foreach... ahora viene el problema..

Al hacer un print_r ... veo que viene el array bien bello y todo... pero con el ligero detalle de que las llaves... siempre son 0 ... y por obvias razones mi script solo procesa el primer bloque de elementos..

Sale algo como:
Código :
Array ( [0] => Array ( [name] => Claud [age] => 20 [salary] => $2000 )
[0] => Array ( [name] => Two [age] => 21 [salary] => $3000 ) )


Y yo necesito algo como esto... es decir que el Key del array principal sea sucesiva... !!

Código :
Array ( [0] => Array ( [name] => Claud [age] => 20 [salary] => $2000 )
[1] => Array ( [name] => Two [age] => 21 [salary] => $3000 ) )


Algo tan simple como eso... pero no se como especificar eso.. o mas bien como hacer el push... de mi arreglo para que lo haga como lo necesito..

Gracias se que es algo medio bizarro pero lo necesito haha..
Thankss

Por Evanfallen

31 de clabLevel



 

chrome
Citar            
MensajeEscrito el 29 Dic 2010 03:18 pm
¿Has probado sin los paréntesis rectos?

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 29 Dic 2010 05:28 pm
por q no usas las SPL

Código PHP :

$array = new ArrayObject();
$array->append( array_combine($auxArrayTitles,$auxArrayConten) );

$array->append( array_combine($auxArrayTitles2,$auxArrayConten2) );
foreach($array->getIterator() as $datos)
{
   echo $datos['name'];
}

extraño no le veo el error a tu script pon que vienen antes de la linea q posteaste

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Dic 2010 09:49 pm
Thanks y si lo probe pero es el mismo resultado, thanks DriverOp.

Y gracias es buena idea, lo probare y posteo que sucedio, gracias tuadmin.

Por Evanfallen

31 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Dic 2010 06:57 am

tuadmin escribió:

por q no usas las SPL

Código PHP :

$array = new ArrayObject();
$array->append( array_combine($auxArrayTitles,$auxArrayConten) );

$array->append( array_combine($auxArrayTitles2,$auxArrayConten2) );
foreach($array->getIterator() as $datos)
{
   echo $datos['name'];
}

extraño no le veo el error a tu script pon que vienen antes de la linea q posteaste


Bueno he probado y leido todo lo que hay sobre esa función.
Y he de decir que no me termina de salir.

Tal vez necesite aclarar lo que hago... bueno en pocas palabras trato de extraer alguns tags y parametros de un XML.. de estos crear uno mas reducido con los datos escogidos que necesito.

Entonces para poder crear el XML he estado viendo un tutorial que me dice que debo tener pasar algo similar a esto:

Código PHP :

$employees [] = array( 
  'name' => 'Claud', 
  'age' => '20', 
  'salary' => "$2000" 
  ); 
  
$employees [] = array( 
  'name' => 'Two', 
  'age' => '21', 
  'salary' => "$3000" 
  ); 


Es decir dos array con ... el tag como KEY... y Contenido como ... obvio contenido en el array.
El detalle en particular es que al hacer el array_combine.. (ya que en un array tengo los keys y en otro el contenido), me he dado cuenta que si pongo algo como ...

$xcosa [] = array_combine($keysA, $contA); es diferente de poner $xcosa = array_combine($keysA, $contA); .... es algo diferente... entonces ahora me pregunto... cual es la diferencia real entre declarar un array con corchetes y otro sin ellos... :S

Ojala alguien tenga una idea para ayudarme a terminar esto... :P que se ha extendido mas de lo que esperaba.
Saludos y gracias

Por Evanfallen

31 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Dic 2010 02:18 pm
Cuando haces esto:

Código PHP :

$miarray[] = "Un Valor";
$miarray[] = "Otro Valor";


Obtienes esto:

Código :

$miarray[0] => "Un Valor";
$miarray[1] => "Otro Valor";


Es decir, un array con índice autonumérico comenzando en cero.
Si sigues asignando valores de esa manera, el índice como es autonumérico irá aumentando de uno en uno.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 30 Dic 2010 08:54 pm

DriverOp escribió:

Cuando haces esto:

Código PHP :

$miarray[] = "Un Valor";
$miarray[] = "Otro Valor";


Obtienes esto:

Código :

$miarray[0] => "Un Valor";
$miarray[1] => "Otro Valor";


Es decir, un array con índice autonumérico comenzando en cero.
Si sigues asignando valores de esa manera, el índice como es autonumérico irá aumentando de uno en uno.


Humm vale lo tengo.. ahora la incognita es por que cuando hago algo como ...

Código PHP :

$miarray[] = array_combine($arrayA, $arrayB);

Sale algo como ....

Array ( [0] => Array ( [name] => Claud [age] => 20 [salary] => $2000 ) 
[0] => Array ( [name] => Two [age] => 21 [salary] => $3000 ) )



Donde no se incrementa el indice numerico.. que es lo que necesito ... si no que siempre ese 0 .. :( hum... no lo descifro aun

Por Evanfallen

31 de clabLevel



 

chrome
Citar            
MensajeEscrito el 31 Dic 2010 02:56 am

Evanfallen escribió:


$miarray[] = array_combine($arrayA, $arrayB);

Sale algo como ....

Array ( [0] => Array ( [name] => Claud [age] => 20 [salary] => $2000 )
[0] => Array ( [name] => Two [age] => 21 [salary] => $3000 ) )

bueno por que no mejor pones el codigo que te reproduce esa salida ya que buenoc reo que aquie stamos tratando de adivinar y pues como vees noe stmaos llengando a una solucion concreta

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Ene 2011 07:08 am
Bueno no se quien cierra los post pero ya logre resolverlo.
De hecho hice todo de nuevo, mas bien solo el push y el combine y ya lo hacia bien :D xD
No descubri cual fue mi fallo pero hice lo mismo y ya funciona a las mil maravillas.

Gracias.

Por Evanfallen

31 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.