PHP - Ayuda con función

 
Vista:
Imágen de perfil de Javi
Val: 10
Ha aumentado su posición en 17 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con función

Publicado por Javi (5 intervenciones) el 17/04/2018 08:33:37
Buenas, pues estoy tratando de crear mi primera función (esto ya os da pistas sobre mi nivel), y sospecho por los errores que arroja que no se está creando correctamente el array de salida, o no está extrayendo correctamente los datos del array que le paso como argumento. Los errores que muestra son:
-Notice: Undefined variable...
-Warning: array_diff(): Argument #2 is not an array...
-Warning: sort() expects parameter 1 to be array, null given in...
El código de la función:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function lista($arg1,$array){
  $ArrayResult=array();
  for($nf=1;$nf<=100;$nf++){
    $contador=0;
    $arg2=$arg1-5;
    for($cont=$arg1;$cont>=$arg2;$cont--){
      for($nmc=1;$nmc<=10;$nmc++){
        $cosa=$array[$cont][$nmc];
        if($cosa==$nf){ $contador++;}
      }
    }
    if($contador>1){ $ArrayResult[]=$nf;}
  }
  $ArrayResult=array_unique($ArrayResult);
  sort($ArrayResult);
}
?>
El array que le paso como argumento viene con los datos y la estructura correctos, ya que el código aplicado sin la función funciona de la forma esperada.
Seguramente sea algo muy básico pero no consigo ver qué es, a ver si alguien puede echarme un cable.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con función

Publicado por xve (6935 intervenciones) el 17/04/2018 15:13:41
Hola Javi, lo que te indica es un Warning... Como llamas a la función?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 19
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con función

Publicado por tomas (7 intervenciones) el 17/04/2018 16:55:24
Podrias hacer validaciones de que antes de hacer el array_unique() o el sort() de fijarte que el array no este vacio. O debuggearlo escribiendo print_r($ArrayResult) antes de cada funcion que ejecutas para ver como llega y que va pasando con ese array en el codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Javi
Val: 10
Ha aumentado su posición en 17 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con función

Publicado por Javi (5 intervenciones) el 17/04/2018 19:00:11
1
<?php lista($variablearg1, $arrayarg);?>

Esto sería correcto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javi
Val: 10
Ha aumentado su posición en 17 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con función

Publicado por Javi (5 intervenciones) el 18/04/2018 12:16:57
Finalmente siguiendo el consejo de tomas y teniendo en cuenta lo que comentó xve, he solucionado el tema de la siguiente forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function lista($arg1,$array,$arg2){
  $ArrayResult=array();
  for($nf=1;$nf<=100;$nf++){
    $contador=0;
    $arg3=$arg1-$arg2;
    for($cont=$arg1;$cont>=$arg3;$cont--){
      for($nmc=1;$nmc<=10;$nmc++){
        $cosa=$array[$cont][$nmc];
        if($cosa==$nf){ $contador++;}
      }
    }
    if($contador>1){ $ArrayResult[]=$nf;}
  }
  return $lista;
}
$Lista_Resultados=lista($arg1,$array,$arg2);
?>

He eliminado las funciones redundantes, y me faltaba el return.
Muchas gracias por vuestro tiempo, un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar