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

210
Vistas
Cómo relacionar dos matrices en PHP

Tengo dos matrices como A & B.


 A=[1,2,3,4] , B=[10,20,30,40]

Quiero ejecutar una consulta de actualización de mysql de una manera como esta.


 $abc1=mysql_query("update table set corr='1' WHERE id=10"); $abc1=mysql_query("update table set corr='2' WHERE id=20"); $abc1=mysql_query("update table set corr='3' WHERE id=30"); $abc1=mysql_query("update table set corr='4' WHERE id=40");

todas estas consultas de ejecución de una sola vez.

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Simplemente haga un bucle y use el índice para la segunda matriz

 $as=[1,2,3,4] , $bs=[10,20,30,40]; foreach ($as as $key=>$val) { $abc1=mysqli_query("update table set corr='".$val."' WHERE id=".$bs[$key]); }

Nota: no debe usar mysql , use mysqli en su lugar

Nota: siempre escapar

about 4 years ago · Santiago Trujillo Denunciar

0

Usando array_combine() , puede crear una nueva matriz, especificar una matriz como claves y la otra como valores en la nueva matriz. Entonces es solo cuestión de hacer un bucle en la matriz resultante y ejecutar consultas. Como ahora tiene una matriz, use un bucle foreach y use las claves (en este caso, todos los valores de $a ) y los valores (en este caso, todos los valores de $b ) como los valores que está configurando.

Esto supone que la cantidad de entradas en ambas matrices es siempre la misma. Si no son del mismo tamaño, array_combine() devolverá falso; puede usarlo como verificación antes de realizar las consultas.

 $a = [1, 2, 3, 4]; $b = [10, 20, 30, 40]; $result = array_combine($a, $b); foreach ($result as $k=>$v) { mysqli_query("UPDATE table SET corr='$k' WHERE id = '$v'"); }

Dicho esto, esta consulta es vulnerable a la inyección de SQL y debe actualizar a una API más nueva que admita consultas parametrizadas con marcadores de posición ( mysqli_* o PDO). La API mysql_* quedó obsoleta en PHP 5.6 y se eliminó por completo en PHP7.

  • ¿Por qué no debería usar funciones mysql_* en PHP?

  • ¿Cómo puedo evitar la inyección de SQL en PHP?

  • Manual para array_combine()

about 4 years ago · Santiago Trujillo Denunciar

0

$a=[1,2,3,4];$b=[10,20,30,40]; $res=array_combine($a, $b ); foreach ($res as $key => $value) { $abc1=mysql_query("update table set corr='".$key."' WHERE id=".$value); }
about 4 years ago · Santiago Trujillo 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