Trabalhar certos dados de um array

  • Autor Autor xmatias
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
X

xmatias

Gamma
Verificación en dos pasos activada
Bueno estoy trabajando con una api que me devuelve json, uso la función json_decode para convertir los datos a array. Y me devuelve algo como esto:

Inserir CODE, HTML ou PHP:
Array ( [0] => stdClass Object ( [id] => 17705 [hi] => 0 [rating] => 0 [url] => /subtitle/the-philadelphia-experiment-yify-17705.zip ) [1] => stdClass Object ( [id] => 17706 [hi] => 0 [rating] => 0 [url] => /subtitle/the-philadelphia-experiment-yify-17706.zip ) [2] => stdClass Object ( [id] => 17704 [hi] => 0 [rating] => 2 [url] => /subtitle/the-philadelphia-experiment-yify-17704.zip ) )

Mi código para obtener eso es el siguiente:

PHP:
$datos= json_decode($subapi);
$subs = $datos->subs;

Lo que quiero yo es obtener un json con solo los campos url para poderlos insertar en una base de datos. ¿Cómo podría hacerlo?

Gracias y saludos :encouragement:
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
PHP:
$datos = json_decode($subapi, true);

foreach($datos as $dato)
{
	echo $dato['url'];
}
 
Si había echo eso de esta manera:

PHP:
foreach($datos as $dato)
{
$url = $dato['url'];
$guardar = json_encode($url)
}

Luego inserté la variable guardar en mi base de datos pero solo me tomaba el último valor :/
 
El valor de $guardar se esta reemplazando en cada loop del foreach.

Intenta hacer algo asi.

PHP:
$guardar = '';

foreach($datos as $dato)
{
	$guardar .= "('". $dato['url'] ."'),";
}

// "INSERT INTO tabla(dato) VALUES". substr($guardar, 0, -1);
 
Última edição:
El valor de $guardar se esta reemplazando en cada loop del foreach.

Intenta hacer algo asi.

PHP:
$guardar = '';

foreach($datos as $dato)
{
	$guardar .= "('". $dato['url'] ."'),";
}

// "INSERT INTO tabla(dato) VALUES". substr($guardar, 0, -1);

Perfecto, muchas gracias :encouragement:
 
Voltar
Topo