【发布时间】:2021-11-05 14:10:45
【问题描述】:
我正在研究 WHMCS API 并在 curl 中获得响应。我必须准确地从第 25 行获取值。响应看起来像这样..
array(1) {
["product"]=>
array(1) {
[0]=>
array(41) {
["id"]=>
int(107) // This is line 25
我必须获取括号中的整数(然后在我的 bash 脚本中将其用作变量)。对于上面的示例,它是 107。
有没有更简单的方法来实现这一点。
======
这是我包含的 php 文件。
<?php
/**
* WHMCS Sample API Call
*
* @package WHMCS
* @author WHMCS Limited <development@whmcs.com>
* @copyright Copyright (c) WHMCS Limited 2005-2016
* @license http://www.whmcs.com/license/ WHMCS Eula
* @version $Id$
* @link http://www.whmcs.com/
*/
// API Connection Details
$whmcsUrl = "https://my.whmcswebsite.net/";
// For WHMCS 7.2 and later, we recommend using an API Authentication Credential pair.
// Learn more at http://docs.whmcs.com/API_Authentication_Credentials
// Prior to WHMCS 7.2, an admin username and md5 hash of the admin password may be used.
$username = "something";
$password = "something";
// Set post values
$postfields = array(
'username' => $username,
'password' => $password,
'action' => 'GetClientsProducts',
'domain' => 'fifi790.mydomain.net',
'responsetype' => 'json',
);
// Call the API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $whmcsUrl . 'includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postfields));
$response = curl_exec($ch);
if (curl_error($ch)) {
die('Unable to connect: ' . curl_errno($ch) . ' - ' . curl_error($ch));
}
curl_close($ch);
// Decode response
$jsonData = json_decode($response, true);
// Dump array structure for inspection
var_dump($jsonData);
【问题讨论】: