Я хочу получить каждый Bank_name
на WordPress из массива при вызове внешнего API.Я использовал wp_remote_get()
.При выполнении цикла foreach
с массивом я получил эту ошибку:
В foreach () указан неверный аргумент.
Для отладки ошибки я попытался повторитьпервый Bank_name
путем предоставления индекса.Я сделал то же самое двумя способами, но один работает, а другой нет.Единственное отличие состоит в том, что один способ использует wp_remote_get()
, а другой использует ответ в виде массива без вызова API.
Откуда исходит ошибка?
Это не работает:
$request = wp_remote_get( 'https://tv-api-dev.azurewebsites.net/api/GetBankInfo' );
if( is_wp_error( $request ) ) {
return false;
}
$body = wp_remote_retrieve_body( $request );
$test = json_decode( $body, true );
print_r($test) ;
echo $test[0]["Bank_name"];
Следующее работает нормально:
$someJSON = "[\r\n {\r\n \"Bank_id\": 1,\r\n \"Bank_name\": \"Aktia Pankki\"\r\n },\r\n {\r\n \"Bank_id\": 2,\r\n \"Bank_name\": \"Bigbank\"\r\n },\r\n {\r\n \"Bank_id\": 3,\r\n \"Bank_name\": \"POP Pankit\"\r\n },\r\n {\r\n \"Bank_id\": 4,\r\n \"Bank_name\": \"Bonum Pankki\"\r\n },\r\n {\r\n \"Bank_id\": 5,\r\n \"Bank_name\": \"Citibank\"\r\n },\r\n {\r\n \"Bank_id\": 6,\r\n \"Bank_name\": \"Danske Bank\"\r\n },\r\n {\r\n \"Bank_id\": 8,\r\n \"Bank_name\": \"DNB BANK ASA\"\r\n },\r\n {\r\n \"Bank_id\": 9,\r\n \"Bank_name\": \"Handelsbanken\"\r\n },\r\n {\r\n \"Bank_id\": 10,\r\n \"Bank_name\": \"Holvi\"\r\n },\r\n {\r\n \"Bank_id\": 11,\r\n \"Bank_name\": \"Nordea Pankki\"\r\n },\r\n {\r\n \"Bank_id\": 12,\r\n \"Bank_name\": \"OP Ryhmä\"\r\n },\r\n {\r\n \"Bank_id\": 13,\r\n \"Bank_name\": \"S-Pankki\"\r\n },\r\n {\r\n \"Bank_id\": 14,\r\n \"Bank_name\": \"Swedbank\"\r\n },\r\n {\r\n \"Bank_id\": 15,\r\n \"Bank_name\": \"Säästöpankki\"\r\n },\r\n {\r\n \"Bank_id\": 16,\r\n \"Bank_name\": \"Alandsbanken\"\r\n }\r\n]";
// Convert JSON string to Array
$someArray = json_decode($someJSON, true);
print_r($someArray); // Dump all data of the Array
echo $someArray[0]["Bank_name"]; // Access Array data
echo $someArray[0]["Bank_id"]; // Access Array data
От второгоКстати, я получаю вывод Aktia Pankki1, что я ожидаю и от 1-го пути, но получаю это сообщение:
Предупреждение: недопустимое смещение строки 'Bank_name' в C: \ xampp \ htdocs \ wpsummerproject\ wp-content \ themes \ astra \ functions.php в строке 181