Я пытаюсь получить конкретные данные из команды curl Twilio Phone Validator:
$cmd='curl -XGET "https://lookups.twilio.com/v1/PhoneNumbers/5551234321'?Type=carrier&Type=caller-name" -u "{AccountSid}:{AuthToken}" ';
exec($cmd,$result);
Когда я печатаю результат, я получаю массив.
echo '<pre>'; print_r($result); '</pre>';
Array
(
[0] => {"caller_name": {"caller_name": "JOHN SMITH", "caller_type": "CONSUMER", "error_code": null}, "country_code": "US", "phone_number": "+5551234321", "national_format": "(555) 123-4321", "carrier": {"mobile_country_code": "310", "mobile_network_code": "120", "name": "Sprint Spectrum, L.P.", "type": "mobile", "error_code": null}, "add_ons": null, "url": "https://lookups.twilio.com/v1/PhoneNumbers/+5551234321?Type=carrier&Type=caller-name"}
)
Как я могу получить конкретные значения в качестве переменных PHP?
например «name»: «Sprint Spectrum, L.P.», «type»: «mobile» as:
$name = "Sprint Spectrum, L.P.";
$type = "mobile";
Я старался:
foreach ($result->items as $item) {
var_dump($item->carrier->name);
}
Но получаю ошибку: неверный аргумент указан для foreach ()
Спасибо @EatPeanutButter и @Julqas за вашу помощь. Указал мне в правильном направлении.
Рабочий код:
$json = json_decode($result[0],true);
$type = $json['carrier']['type'];
$carrier = $json['carrier']['name'];
Других решений пока нет …