Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
evitar los mismos números y cero en la matriz

Tengo un formulario con esa tabla: jsfiddle

En este formulario, necesito habilitar la edición de los campos numéricos.
Después de enviar, recopilo los datos y escribo en mysql.

 <?php foreach ($_POST['number'] as $key => $val) { $number = $_POST['number'][$key]; $name = $_POST['name'][$key]; $description = $_POST['description'][$key]; if (!empty($number)) { $query = "INSERT INTO TEST SET date=NOW(), id='$number', name='$name', description='$description'"; $insert = $connect->query($query) or die($connect->error . __LINE__); } } ?>

Antes de insertar mysql, quiero verificar que la matriz de $ number no contenga los mismos números y cero (como: 0,1,1,101,150).
En caso afirmativo, proporcione un error al usuario de que el campo Número debe ser único.
¿Cómo puedo hacer eso de la manera más fácil con php o javascript? gracias ;)

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

<?php $arrayDuplicates = [1, 2, 3, 1, 2, 3, 1, 2, 3]; $arrayNoDuplicates = [1, 2, 3, 4]; echo 'arrayDuplicates: '; if(count($arrayDuplicates) != count(array_unique($arrayDuplicates))) echo 'duplicates found <br>'; else echo 'no duplicates <br>'; echo 'arrayNoDuplicates: '; if(count($arrayNoDuplicates) != count(array_unique($arrayNoDuplicates))) echo 'duplicates found <br>'; else echo 'no duplicates <br>';

Producción:

 arrayDuplicates: duplicates found arrayNoDuplicates: no duplicates

array_unique le dará una matriz que contiene solo los elementos únicos. Eso significa que, si un elemento tiene duplicados, count(array_unique($array)) será más pequeño que count($array) .

Compruebe array_unique aquí: https://www.php.net/manual/en/function.array-unique.php

Editar: también sugiero leer los comentarios de otras personas sobre cómo mejorar su código.

Olvidé por cero.

 $arrayZero = [0, 1, 2, 3]; $arrayNoZero = [1, 2, 3]; echo 'arrayZero: '; if(in_array(0, $arrayZero)) echo 'has zero. <br>'; else echo 'no zero. <br>'; echo 'arrayNoZero: '; if(in_array(0, $arrayNoZero)) echo 'has zero. <br>'; else echo 'no zero. <br>';

Para verificar si un elemento está en una matriz (si la matriz contiene 0, por ejemplo), puede usar in_array .

Compruebe in_array aquí: https://www.php.net/manual/en/function.in-array.php

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda