curl ile dizinin anahtar değerini almak nasıl (php)

2 Cevap php

Ben bir API kullanmak istiyorum ama o bilgi bir sürü baskı ve i dizisinin bir kaç anahtar değerlerini nasıl alabilirim bilmiyorum.

<?php
$query = "SELECT * FROM kvk WHERE adres='Wit-geellaan 158'";
$host  = "http://api.openkvk.nl/php/";
$url   = $host ."/". rawurlencode($query);

$curl = curl_init();
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0); 

curl_exec($curl);

curl_close($curl);
?>

Benim php script ve gösterir

array(array("RESULT"=>array("TYPES"=>array("int","bigint","varchar","varchar","varchar","varchar","varchar","int","int","smallint","smallint","int"),"HEADER"=>array("id","kvk","bedrijfsnaam","adres","postcode","plaats","type","kvks","sub","bedrijfsnaam_size","adres_size","verhuisd"),"ROWS"=>array(array("1303095","271242250000","Schoonmaakbedrijf Regio","Wit-geellaan 158","2718CK","Zoetermeer","Hoofdvestiging","27124225","0","23","16","0")))))

Şimdiden teşekkürler

Greetings, Vierri

2 Cevap

//Use the cURL setting to put the result into a variable rather than printing it    
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 

//store the result rather than print (as we set CURLOPT_RETURNTRANSFER)
$result = curl_exec($curl);
if ( $result === false ){
    //something went wrong, handle the error
}

//evaluate the array result and store it. (Please don't use this line in production code)
//as the $result string is from a untrusted source
eval('$array = '.$result.';');

//then you can, for example, get a list of the types
$types = $array[0]['RESULT']['TYPES'];


//or some keys
$keys = array_keys($array[0]['RESULT']);

Yukarıdaki kod olduğu gibi dangerous ve muhtemelen shouldn't be used olduğunu. Onlar cevaben kötü şey koymak olabilir ve bunu sunucuya kötü şeyler yapabilirdi (eval hat) değerlendirmek istiyorum. Bu biçime yanıtları göndermek değil daha iyi bir API varsa ben kontrol ederim. (Json veya XML daha iyi olurdu)

Eğer değilse yerine kullanarak daha yanıtı dizi ayrıştırma elle considerer isteyebilirsiniz eval

Tüm anahtarları ve değerleri almak için:

$server_output = curl_exec($curl);
var_dump($server_output);

Sadece tuşlarının bir listesini almak için:

$server_output = curl_exec($curl);
ksort($server_output);
foreach ( $server_output AS $key => $val ) {
  echo "$key\n";
}