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

178
Vistas
Cómo fusionar matrices múltiples en una sola matriz usando PHP

Consulto la columna de dirección de la base de datos y paso esa dirección múltiple a la API de Google Geocoder y almaceno ese resultado de latitud y longitud en la variable $coordinate . Cuando var_export($coordinate); Obtengo la salida en el siguiente formato:

 '[19.0759837,72.8776559]''[47.6062095,-122.3320708]''[12.9715987,77.5945627]'

pero cuando use print_r(array($variablename)); Obtengo la salida en este formato:

 Array ( [0] => [19.0759837,72.8776559] ) Array ( [0] => [47.6062095,-122.3320708] ) Array ( [0] => [12.9715987,77.5945627] )

Pero quiero que la salida esté en una sola matriz, algo como esto.

 Array ( [0] => [19.0759837,72.8776559], [1] => [47.6062095,-122.3320708], [2] => [12.9715987,77.5945627] )

Este es el código php:

 <?php // database connection code and query to fetch address column the database and pass address to geocode() header("content-type: application/json"); header('Access-Control-Allow-Origin: *'); $config = parse_ini_file('./config.ini'); $connect = mysqli_connect('localhost',$config['username'],$config['password'],$config['dbname']); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $ordertracker = mysqli_query($connect, "select address from ordertracker"); if (!$ordertracker) { echo "Error fetching results: " . mysqli_error(); } $address=array(); while($row = mysqli_fetch_assoc($ordertracker)) { $address= $row['address']; geocode($address); } function geocode($address) { $address = urlencode($address); $url = "http://maps.googleapis.com/maps/api/geocode/json?address=$address&sensor=false"; $geocode=file_get_contents($url); $output= json_decode($geocode); $lat = $output->results[0]->geometry->location->lat; $long = $output->results[0]->geometry->location->lng; $coordinate = "[" . $lat . "," . $long . "]"; var_export($coordinate); } ?>
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si desea una matriz, entonces no debe usar cadenas literales y concatenación para construirla, ya que eso dará como resultado una cadena.

En su lugar, deje que su función genere una matriz con dos valores (latitud y longitud) y agregue esos pares a su matriz principal en su ciclo principal:

 $address = []; while($row = mysqli_fetch_assoc($ordertracker)) { $address[] = geocode($row['address']); } print_r($address); function geocode($address) { $address = urlencode($address); $url = "http://maps.googleapis.com/maps/api/geocode/json?address=$address&sensor=false"; $geocode = file_get_contents($url); $output= json_decode($geocode); $lat = $output->results[0]->geometry->location->lat; $long = $output->results[0]->geometry->location->lng; $coordinate = [$lat, $long]; return $coordinate; }
over 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