Autor Tema: [Ayuda] Arrays  (Leído 281 veces)

Desconectado xtremer

  • PHPerit@
  • *
  • Mensajes: 5
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
[Ayuda] Arrays
« en: 26 de Marzo de 2012, 05:41:30 am »
Estoy haciendo un metodo para imprimir el Primer, y Ultimo nodo de un Array, y elegir Key o Value, para luego usar un condicional if()
El que hice es funcional, pero capaz se puede hacer una mejor manera..

Código: [Seleccionar]
# $get_node = array
# $get_type = Key o Value
# $get_position = Primer o Ultimo nodo

private function FilterArray($get_node, $get_type, $get_position)
{
if($get_position=="first"){
$node=array_slice($get_node, 0); // Obtengo primer nodo
}
else if($get_position=="last"){ // O este First, o es Last nomas
$node=array_slice($get_node, -1); // Obtengo el ultimo nodo
}
if($get_type=="key"){
$node=key($node); // Obtengo la key del nodo
}
else if($get_type=="value"){ // O es Key, o es Value nomas
$node=current($node); // Obtengo el value del nodo
}

return $node;
}

Y luego por ej. lo uso como:

Código: [Seleccionar]
$lastNode=$this->FilterArray($this->fields, 'key', 'last');

foreach($node as $key=>$value){
$this->query.=$key;
if($field!=$lastNode){ $this->query.=","; }
}

Haciendo que agregue , a todos menos al ultimo..

Ventaja que tengo a diferencia de antes:
No usar count($array) para contar cuantos nodos hay, ni $var++ dentro de un bucle for() o foreach()  para saber si es el Primero o Ultimo nodo, y dsp uso un if()
Solo llamo al metodo, y utilizo un if(), mejorando la sintaxis de mi codigo


Para aquellos que no lo sabian, espero que les sirva como aporte :)
Espero que me puedan ayudar si saben como mejorar el script, gracias.

Comunidad PHPeros

[Ayuda] Arrays
« en: 26 de Marzo de 2012, 05:41:30 am »