¿Porque in_array obvia que si hay coincidencias en el array?
Publicado por Carlos (3 intervenciones) el 10/11/2022 18:54:46
Hola, tengo un código php que se encarga de tomar el contenido de un archivo json, comparar uno de sus valores (email) con un dato que el usuario introduce en el formulario, pero a pesar se que si existe ese dato in_array lo ignora y ejecuta el fragmento de código que añade ese mismo dato al array (si no existiera) y pasa a convertirse a json (Cuando no trabajo con file_get_contents si funciona, pero si extraigo y sobreescribo el archivo json entonces me da ese error).
Código php:
Código php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
// datos de prueba
$jsonfile = file_get_contents('data.json');
$jsonarray = json_decode($jsonfile, true);
foreach ($jsonarray as $value){
if(in_array($_post['email'],$value)){
echo "el correo ya está registrado, inicie sesión";
}
else
{
echo "el usuario no existe en la base de datos, registrando";
$addarray=array(
'username' => $_post['username'],
'email' => $_post['email'],
'id' => $_post['id'],
'password' => $_post['password'],
);
$jsonarray[]=$addarray;
$jsonout = json_encode($jsonarray);
file_put_contents('data.json', $jsonout);
};
break;
};
?>
Valora esta pregunta
0