PHP - Agregar 0 a nif

 
Vista:

Agregar 0 a nif

Publicado por Fernando (1 intervención) el 30/10/2022 18:46:33
Buenas, estoy intentando añadir 0 a la izquierda de mis nif pero me da error. Estoy usando str_pad con bucle foreach pero no se si lo uso correctamente.

El caso que estoy haciendo test y esto es lo que me sale, os muestro el codigo

ProvedoresDao
public function completarNif(string $nif){

$nif=[];

foreach ($nif as &$lista){
$lista= str_pad($lista, 9, '0', STR_PAD_LEFT);
}
return $nif;
}

y en mi test

public function test12(){
echo "<h3>Nif</h3>";
$result = $this->dao->completarNif();
dep($result);

}
y el error
Fatal error: Uncaught ArgumentCountError: Too few arguments to function dao\ProveedoresDao::completarNif(), 0 passed in /var/www/html/InfoBA/controllers/TestaController.php on line 174 and exactly 1 expected in /var/www/html/InfoBA/dao/ProveedoresDao.php:152 Stack trace: #0 /var/www/html/InfoBA/controllers/TestaController.php(174): dao\ProveedoresDao->completarNif() #1 /var/www/html/InfoBA/libs/App.php(27): controllers\TestAController->test12(Array) #2 /var/www/html/InfoBA/index.php(18): libs\App->__construct() #3 {main} thrown in /var/www/html/InfoBA/dao/ProveedoresDao.php on line 152

Gracias de antemano
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
sin imagen de perfil
Val: 393
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Agregar 0 a nif

Publicado por Jefferson (203 intervenciones) el 30/10/2022 21:27:22
Vaya ....

Primera vez que veo esto

1
2
3
4
5
6
7
8
9
function completarNif(string $nif)
{
    $nif = [];
 
    foreach ($nif as &$lista) {
        $lista = str_pad($lista, 9, '0', STR_PAD_LEFT);
    }
    return $nif;
}

Creas una funcion a la cual le envias un srting, luego declaras un array que obviamente recorres vacio y luego lo retornas vacio

Y ahora esta
1
2
3
4
5
6
function test12()
{
    echo "<h3>Nif</h3>";
    $result = $this->dao->completarNif();
    dep($result);
}

Bueno acá si se me exploto el coco pensando.... De donde salio dao

Creo si explicas mejor y perdona mi ignorancia si es que tu código tiene alguna lógica que yo no entienda, Quizás algún forero lo descifre.

Veamos si podemos echarte una mano.
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

Agregar 0 a nif

Publicado por Yamil Bracho (22 intervenciones) el 31/10/2022 00:47:35
La excepcion que te muestra es que defines completarNif() a recibir un parametro y luego no se lo estas pasando
Para hacer un cuento largo, corto. la funcion pudeira ser algo como ;

public function completarNif(string $nif, $max_len=9) {
return str_pad( trim($nif), max_len, '0', STR_PAD_LEFT);

Para usarla haces
$result = $this->dao->completarNif($nif);
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