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

153
Vistas
PHP - Empuje los datos a la matriz en el bucle foreach

Quiero lograr el siguiente formato de matriz:

 { "success": true, "results": [ { "name" : "Choice 1", "value" : "value1", "text" : "Choice 1" }, { "name" : "Choice 2", "value" : "value2", "text" : "Choice 2" } ] }

Sin embargo, estoy usando PHP y un bucle foreach para devolver algunos valores de mi base de datos:

 //Search for clients in our database. $stmt = $dbh->prepare("SELECT * FROM customers"); $stmt->execute(); $showAll = $stmt->fetchAll();

Luego tengo mi primera parte de la matriz y mi bucle foreach:

 $data = array( "success" => false, "results" => array() ); foreach ($showAll as $client) { $data_array[] = array( 'name' => $client['name'], 'value' => $client['name'], 'text' => $client['name'] ); }

Arriba solo salidas:

 [ { "name":"Choice 1", "value":"value 1", "text":"Choice 1" }, { "name":"Choice 2", "value":"value2", "text":"Choice 2" } ]

Por lo tanto, falta la parte superior de mi matriz original, pero quiero recorrer los resultados de cada base de datos en "results": [ ... ]

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

0

Prueba esto

 $data = array( "success" => false, "results" => array() ); foreach ($showAll as $client) { $data['results'][] = array( 'name' => $client['name'], 'value' => $client['name'], 'text' => $client['name'] ); } $data['success'] = true; // if you want to update `status` as well echo json_encode($data);
about 4 years ago · Santiago Trujillo Denunciar

0

Después de crear la matriz $data_array , solo agregue algunas líneas que tengo en mi publicación.

Pruebe este fragmento de código aquí (con entrada de muestra)

 ini_set('display_errors', 1); foreach ($showAll as $client) { $data_array[] = array( 'name' => $client['name'], 'value' => $client['name'], 'text' => $client['name'] ); } // add these lines to your code. $result=array(); $result["success"]=true; $result["results"]=$data_array; echo json_encode($result);
about 4 years ago · Santiago Trujillo Denunciar

0

intente esto ya que tiene una matriz dentro de $ data_array en la clave "Resultados", por lo que también debe usar "resultados" como clave y luego intentar insertar datos en esa matriz

 foreach ($showAll as $client) { $data_array["results"][] = array( 'name' => $client['name'], 'value' => $client['name'], 'text' => $client['name'] ); }
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