[英]How to access PHP object's individual value?
我正在为电子邮件猎人 API 使用以下包装器...
require_once '/home/mysite/public_html/path/to/hunterio/vendor/autoload.php';
use Hiraya\Hunter;
$hunter = new Hunter('MY_API_KEY');
他们的关键方法是...
$hunter->findEmailByCompany('microsoft.com', 'Bill Gates');
但我不明白如何访问和输出结果 - 特别是“电子邮件”字段。
我知道以前有人问过类似的问题,我已经检查了许多答案,但找不到解决方案。 $hunter
是一个对象,对吧? 他们对我来说很新。
这是我尝试过的一些事情......
1.
echo $hunter->findEmailByCompany('microsoft.com', 'Bill Gates');
输出...
" {"data"}: { "first_name": "Bill", "last_name": "Gates", "email": "bill.gates@microsoft.com", "score": 91, "domain": "microsoft ....
2.
var_dump($hunter);
输出...
object(Hiraya\Hunter)#25263 5) {["apiKey":protected] => string(40) ...
3.
$myobject = $hunter->findEmailByCompany('microsoft.com', 'Bill Gates');
print_r($myobject["data"]);
输出...
Warning: Illegal string offset 'data' in...
上面的数字 1. 最接近,因为它表明属性“电子邮件”可用,似乎在“数据”中。 我需要访问“电子邮件”。
编辑:
我的轻微误解......图书馆返回JSON。 因此,正如答案所指出的,我使用 json_decode 访问一个元素。
问题是, findEmailByCompany()
返回什么数据类型?
如果它是一个 JSON 编码为 #1 的__toString()
不清楚, __toString()
可以以任何方式实现),那么您的电子邮件位于:
$hunter->findEmailByCompany('microsoft.com', 'Bill Gates')->email
或者
$hunter->findEmailByCompany('microsoft.com', 'Bill Gates')->data->email
或者
$hunter->findEmailByCompany('microsoft.com', 'Bill Gates')->data['email']
但是,也有可能findEmailByCompany()
返回的对象具有非公开的电子邮件字段。 然后你会有一些 getter 方法,例如get('email')
。
编辑:该方法也可能只返回一个 JSON 字符串。 在这种情况下,它类似于:
json_decode($hunter->findEmailByCompany('microsoft.com', 'Bill Gates'))->data->email
由于findEmailByCompany()
返回 JSON 字符串(如源代码中所述),您需要使用:
$json = $hunter->findEmailByCompany('microsoft.com', 'Bill Gates');
$result = json_decode($json);
echo $result->data->email;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.