Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!