2017-09-02 7 views
0

Je suis en train de retreive le cours actuel de Google Finance:Get stock Prix avec PHP et JSON Decode sur Google finançons

http://finance.google.com/finance/info?client=ig&q=AAPL

Comment puis-je extraire seulement le prix ("1")?

<?php 
$string = file_get_contents("http://finance.google.com/finance/info?client=ig&q=AAPL"); 
$json = json_decode($string, true); 
$price = $json["1"]; 
echo $price; 
?> 
+1

Imprimer la variable $ json dans votre question – Akintunde007

+0

... qui devrait répondre à votre propre question – Martijn

Répondre

1

le JSON renvoyé est commenté, donc json_decode() ne fera pas l'affaire ... vous devez supprimer les doubles barres obliques - je explode() comme ceci:

<?php 
$string = file_get_contents("http://finance.google.com/finance/info?client=ig&q=AAPL"); 
$arrMatches = explode('// ', $string); // get uncommented json string 
$arrJson = json_decode($arrMatches[1], true)[0]; // decode json 
$price = $assJson["l"]; 
echo $price; 

oh, et clé est un L (l) minuscule pas un numérique (1) dans le json

+0

oh my.dont regex quand vous devez . 'substr ($ string, 3);' – Martijn

+0

@Martijn, vous pouvez sortir le programmeur de perl, mais vous ne pouvez pas sortir le perl d'un programmeur! mis à jour pour exploser() sur preg_match() –

+0

Non, ne le veux pas non plus. Les fonctions de tableau où les fonctions simples de la chaîne uffice est aussi un no go;) substr est vraiment celui que vous voulez – Martijn