Buenas a todos.
Tengo un array en php, pero lo necesito pasar a string mediante json_encode para poder utilizarlo con Java Script en mi proyecto.
El problema es que cuando intento pasarlo a string y reflejarlo en pantalla no se muestra nada, como si no funcionara el json_encode.
<?php
require 'includes/funciones.php';
$servicios = obtenerServicios();
echo json_encode($servicios);
Esa función obtenerServicios();
esta en funciones.php y tiene como return un array, que a su vez obtiene datos de una base de datos en SQL.
Este es el funciones.php.
<?php
function obtenerServicios() : array {
try {
// importar una conexion
require 'database.php';
// Escribir el codigo SQL
$sql = 'SELECT * FROM servicios;';
$consulta = mysqli_query($db, $sql);
// Arreglo vacio
$servicios = [];
$i = 0;
// Obtener los resultados
while( $row = mysqli_fetch_assoc($consulta) ) {
echo '</pre>';
$servicios[$i]['id'] = $row['id'];
$servicios[$i]['nombre'] = $row['nombre'];
$servicios[$i]['precio'] = $row['precio'];
$i++;
}
//echo '<pre>';
//var_dump( $servicios );
//echo '</pre>';
return $servicios;
} catch (\Throwable $th) {
//throw $th;
var_dump($th);
}
}
obtenerServicios();
Cuando pongo solo echo $servicios;
funciona y se muestra en pantalla, como array, pero cuando lo quiero pasar a string para poder usarlo con Java Script no se muestra nada en pantalla, y no puedo usarlo.