Есть такой скрипт (класс для работы с API QIWI):
class QiwiApi
{
private $_phone = '';
private $_token;
private $_url;
function __construct($phone, $token) {
$this->_phone = $phone;
$this->_token = $token;
$this->_url = 'https://edge.qiwi.com/';
}
private function sendRequest($method, array $content = [], $post = false)
{
$ch = curl_init();
if ($post) {
curl_setopt($ch, CURLOPT_URL, $this->_url . $method);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($content));
} else {
curl_setopt($ch, CURLOPT_URL, $this->_url . $method . '/?' . http_build_query($content));
}
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept: application/json',
'Content-Type: application/json',
'Authorization: Bearer ' . $this->_token
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result, 1);
}
public function getAccount(Array $params = []) {
return $this->sendRequest('person-profile/v1/profile/current', $params);
}
public function getPaymentsHistory(Array $params = []) {
return $this->sendRequest('payment-history/v1/persons/' . $this->_phone . '/payments', $params);
}
public function getPaymentsStats(Array $params = []) {
return $this->sendRequest('payment-history/v1/persons/' . $this->_phone . '/payments/total', $params);
}
public function getBalance() {
return $this->sendRequest('funding-sources/v1/accounts/current')['accounts'];
}
public function getTax($providerId) {
return $this->sendRequest('sinap/providers/'. $providerId .'/form');
}
public function sendMoneyToQiwi(Array $params = []) {
return $this->sendRequest('sinap/terms/99/payments', $params, 1);
}
public function sendMoneyToProvider($providerId, Array $params = []) {
return $this->sendRequest('sinap/terms/'. $providerId .'/payments', $params, 1);
}
}
И есть мой кривой код:
$phone = 'тут_номер';
$token = 'тут_токен';
$api = new QiwiApi($phone, $token);
$balance = $api->getPaymentsHistory(
array(
'rows' => '50',
'operation' => 'IN',
));
var_dump(array_search('1471006567213', $balance));
var_dump($balance); // print_r($balance);
Но почему-то array_search не ищет значение, var_dump выдаёт:
bool(false)
А когда я ищу пустую строку, то есть:
var_dump(array_search('', $balance));
То находит аж в самом конце всего громадного массива только (выводится это):
string(9) "nextTxnId"
Ищет только пустую строку.
Вот скриншот var_dump($balance) (частичные данные массива):