【发布时间】:2016-04-28 13:34:15
【问题描述】:
我正在尝试在 PHP 中使用对象内部的变量。
我尝试访问像 $object->json_output 这样的变量,但我收到未定义的属性错误。我期待对这个输出进行正则表达式并提取我稍后将使用的数据。
我的代码是:
class curl
{
public function curlPut($url, $JSON, $token)
{
$ch = curl_init($url);
$popt = array(
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POSTFIELDS => $JSON,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization:'.$token.''
));
curl_setopt_array($ch, $popt);
$json_output = curl_exec($ch);
curl_close($ch);
return var_dump($json_output);
}
};
$object1 = new curl;
$object1->curlPut($url, $JSON, $token);
preg_match_all('/"id":"([0-9]*)/', $object1->json_output, $idtest);
$id_array[] = array(
'id' => $idtest[1]
);
其中$json_output 是我需要访问的变量,$id_array 是IDs 的数组,我需要来自$json_output 的regexed。如何访问 $json_output 以在我的 preg_match_all 函数中使用?
我是使用类/对象的新手,如果这是一个愚蠢的问题,我深表歉意。
任何 cmets 将不胜感激!
山姆
【问题讨论】:
-
您需要设置
$this->json_output = ...,而不是$json_output = ...。 -
您是否有任何理由使用正则表达式从 JSON 读取值,而不是使用 json_decode()?
-
@iainn。我正在遍历一个可变长度的 JSON 数组,因此我无法使用 json_decode 可靠地提取我需要的内容。
-
@MohammedShafeek 谢谢你,我会熟悉那个帖子