Foros del Web » Programando para Internet » PHP »

Problema con funciones de Array

Estas en el tema de Problema con funciones de Array en el foro de PHP en Foros del Web. Buenas tengo 2 arrays asociativos,estoy intentando 2 cosas 1º coger os values de estos: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $array1 = array_values ( arrygrupoA ...
  #1 (permalink)  
Antiguo 25/01/2012, 18:11
 
Fecha de Ingreso: febrero-2011
Mensajes: 89
Antigüedad: 13 años, 2 meses
Puntos: 1
Problema con funciones de Array

Buenas
tengo 2 arrays asociativos,estoy intentando 2 cosas

1º coger os values de estos:

Código PHP:
Ver original
  1. $array1=array_values(arrygrupoA);
  2. $array2=array_values(arrygrupoB);

me salta el siguiente error..
Warning: array_values() expects parameter 1 to be array, null given in

despues intento hacer un array_merge para crearme un array final con los valores de los anteriores pero me repite valores y sale un error si no le pongo array($unArray)
Código PHP:
Ver original
  1. $arrayFinal=array_merge(array($grupo1),array($grupo2));
Warning: array_merge(): Argument #1 is not an array in _form_set_class()

podria alguien aconsejarme alguna alternativa o como usar correctamente estos metodos del array

gracias
  #2 (permalink)  
Antiguo 25/01/2012, 18:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con funciones de Array

Todos tu problemas son por la misma razón, los argumentos que empleas no son arrays.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 25/01/2012, 20:14
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Problema con funciones de Array

Hola, como dice pateketrueke, el problema es que no son arrays.

En el primer caso, quizás te estés olvidando los $ en arrygrupoA y arrygrupoB. Si no es así, entonces verifica las asignaciones porque alguno o los dos no contiene un array realmente.

En el último caso se resuelve agregando array() porque $grupo1 y $grupo2 no son arrays y al usar array() estás creando un array con lo que sea que tengan esas dos variables. Evita el error pero seguramente los resultados no sean los esperados. Revisa las asignaciones (de dónde sale $grupo1, $grupo2, qué es lo último que le asignas, usa var_dump() para ver el tipo de dato de cada uno).

Saludos.
  #4 (permalink)  
Antiguo 26/01/2012, 02:55
 
Fecha de Ingreso: febrero-2011
Mensajes: 89
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con funciones de Array

Si el error se que pone que los parametros que utilizo no son arrays pero,los tengo cargados asi
$grupo1=array(1=>"pepe",2=>"jose");
$grupo2=array(1=>"maria",3=>"pepa");

estan definidos como array con clave numerica por eso me extraña que me salga ese warning.El objetivo es que quiero tener en otro array los values de estos 2 arrays por ejemplo,he probado:

$grupoFinal=$grupo1+$grupo2;
$grupoFinal=array_merge($grupo1+$grupo2);

estoy atascado en esta parida que no consigo ver

gracias de antemano
  #5 (permalink)  
Antiguo 26/01/2012, 03:09
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con funciones de Array

Si leyeras el manual sabrias que ...
Código PHP:
Ver original
  1. $newArray = array_merge($array1,$array2);
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 26/01/2012, 03:26
 
Fecha de Ingreso: febrero-2011
Mensajes: 89
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con funciones de Array

Yo antes devenir a cualquier foro a ver si encuentro una ayuda,leo manuales...
he probado varias formas ya que segun pones el array_merge te mostrara warnings por no definir que los 2 parametros que pasas no estan explictamente definidos como arrays apartir de php 5...esto por ejemplo lo se por haber visto mas de un manual

si pido ayuda es por que lo que me devuelve array_merge no es el que esperaba ya que solo quiero un arrayFinal cargado con los valores de los otros 2 arrays
  #7 (permalink)  
Antiguo 26/01/2012, 03:50
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con funciones de Array

Cita:
Iniciado por maldini3783 Ver Mensaje
Yo antes devenir a cualquier foro a ver si encuentro una ayuda,leo manuales...
he probado varias formas ya que segun pones el array_merge te mostrara warnings por no definir que los 2 parametros que pasas no estan explictamente definidos como arrays apartir de php 5...esto por ejemplo lo se por haber visto mas de un manual

si pido ayuda es por que lo que me devuelve array_merge no es el que esperaba ya que solo quiero un arrayFinal cargado con los valores de los otros 2 arrays
Y estas 100% seguro que "array_merge" no regresa un solo array con los items de los dos array originales? has la prueba y veras...

Código PHP:
Ver original
  1. <?php
  2. $array1 = array(
  3.     'var1' => 'a',
  4.     'var2' => 'b',
  5.     'var3' => 'c'
  6. );
  7.  
  8. $array2 = array(
  9.     'var4' => 'd',
  10.     'var5' => 'e',
  11.     'var6' => 'f'
  12. );
  13.  
  14. $newArray = array_merge($array1,$array2);
  15.  
  16. echo '<pre>';
  17. var_dump($newArray);
  18. echo '</pre>';

array_merge te retornará
Código:
array(6) {
  ["var1"]=>
  string(1) "a"
  ["var2"]=>
  string(1) "b"
  ["var3"]=>
  string(1) "c"
  ["var4"]=>
  string(1) "d"
  ["var5"]=>
  string(1) "e"
  ["var6"]=>
  string(1) "f"
}
Ahora, si lo único que que quieres es los valores porque no los recorres...
Código PHP:
Ver original
  1. <?php
  2. $newArray = array();
  3. foreach($array1 as $key => $val) {
  4.      $newArray[] = $val;
  5. }
  6.  
  7. foreach($array2 as $key => $val) {
  8.      $newArray[] = $val;
  9. }
  10.  
  11. echo '<pre>';
  12. var_dump($newArray);
  13. echo '</pre>';
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 26/01/2012, 04:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 89
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con funciones de Array

al utilizar array_merge($array1,$array2) me vuelva los valores de array1 y los valores e array2 y otro array con todos los valores....por eso no me cuadraba mucho el comportamiento de merge...de todas formas le volvere ha echar un vistazo mas detenidamente,lo que queria evitar era precisamente recorrer los 2 array para recoger solo los valores ,en el caso que de que hubiera una funcion alternativa de array que me hicera lo mismo pero bueno si no lo saco de otra forma recorrere los 2 arrays..
muchas gracias por la ayuda Nemutagk

Etiquetas: funciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:01.