Перейти к содержимому



Купить ссылку здесь
Фотография

[php] Как получить срез значений массива в новом массиве?

Форум ZiSMO.biz
php
  • Закрытая тема Тема закрыта
7
Сообщений в теме: 7

ONLINE Отправлено

makag
группа пользователя

    makag.ru

  • Cообщений: 2 572
  • Друзей:4
  • Поинты: 58
  • Предупреждений: 0
  • Онлайн:84д 15ч 43м
397

Хочу получить список айди фотографий из фотоальбома в сообществе.

 

Через https://vk.com/dev/photos.getполучаю общий массив, в котором куча всего:

 

картинка ответ вк:

 

Скрытый текст

 

собственно массив как он есть в php:  http://ahlam.ru/index1/array.txt

 

К отдельному значению я могу добраться через:

['response']['0']['pid']

Но как обойти весь массив, забрать из него каждое из значений ['response']['0']['pid'], ['response']['1']['pid'] , ['response']['2']['pid'], ['response']['3']['pid']  ...  и  собрать из этих значений новый массив   -  не знаю / не умею.

 

Прошу намекнуть/ткнуть носом как это правильно сделать  (bandit)

 

 

 





Псс, хочешь бан на все свои акки вк? Welcome!

    • 0
  • Наверх

OFFLINE Отправлено

BlackShadow
группа пользователя

    Пользователь

  • Cообщений: 200
  • Друзей:7
  • Поинты: 1
  • Предупреждений: 70
19

pid - что это? там же id


    • 0
  • Наверх

ONLINE Отправлено

makag
группа пользователя

    makag.ru

  • Cообщений: 2 572
  • Друзей:4
  • Поинты: 58
  • Предупреждений: 0
  • Онлайн:84д 15ч 43м
397

pid - что это? там же id

через веб версию сайта отдаёт как id

а в json (или хз как это правильно назвать) - этот ключ отдаётся уже как pid

 

собственно наглядно если - тут:  

http://ahlam.ru/index1/index.php

вбить:

https://vk.com/album-125903390_235649667

(или ссылку на фотоальбом другого сообщества - не суть важно)

- выдаст массив, именно как ["pid"]=> int(428025199)

 

сердцем подозреваю, что нужно делать обход через foreach (примерно как из примера здесь  http://ru.stackoverf...иков-сообщества

но поскольку руки у меня из неправильного места - пока что мои эксперименты успехом не увенчались ((


Сообщение отредактировал makag: 11 09 2016 - 23:06

Псс, хочешь бан на все свои акки вк? Welcome!

    • 0
  • Наверх

OFFLINE Отправлено

Glor
группа пользователя

    C# Developer

  • Cообщений: 9 819
  • Друзей:223
  • Поинты: 154
  • Предупреждений: 0
  • Онлайн:186д 10ч 18м
752

Регулярное выражение, не?

Поможет такая штука как preg_match_all()


Сообщение отредактировал Glor: 11 09 2016 - 23:11

image1gif_2013935_22758455.gif

    • 1
  • Наверх

OFFLINE Отправлено

BlackShadow
группа пользователя

    Пользователь

  • Cообщений: 200
  • Друзей:7
  • Поинты: 1
  • Предупреждений: 70
19

['0'] - индекс пишется так: [0]


    • 1
  • Наверх

ONLINE Отправлено

makag
группа пользователя

    makag.ru

  • Cообщений: 2 572
  • Друзей:4
  • Поинты: 58
  • Предупреждений: 0
  • Онлайн:84д 15ч 43м
397

Glor, BlackShadow мерси 

буду счас методом научного тыка с учётом полученных знаний продолжать -)

всем спасибо, через сутки отчитаюсь о результате  :)  чёт в голове появилось вроде как

 

спустя 2 часа update, получилось:

вкратце, примерно так:

$photos_get = vkapi('photos.get?owner_id='.$album_uid[0].'&album_id='.$album_uid[1].'&count=1000');
$jsondecode = json_decode($photos_get, true);
$raw_data = $jsondecode['response'];
foreach ($raw_data as $pid) {
    $pids[] = $pid[pid];
}

$pids - собственно массив id фоточек

 

 

спасибо!

вопрос решён.


Сообщение отредактировал makag: 12 09 2016 - 01:27

Псс, хочешь бан на все свои акки вк? Welcome!

    • 0
  • Наверх

OFFLINE Отправлено

FTOH
группа пользователя

    Постоянный

  • Cообщений: 1 715
  • Друзей:72
  • Поинты: 3
  • Предупреждений: 70
226

через веб версию сайта отдаёт как id
а в json (или хз как это правильно назвать) - этот ключ отдаётся уже как pid

Потому что надо указывать версию в запросе. Если не указать, то отдается 3.0
t54D2sU.png
 
Скоро твои запросы перестанут работать (https://vk.com/wall-1_340400)
LFyzo9T.png
 
Переделал твой пример.

$photos_get = vkapi('photos.get?owner_id='.$album_uid[0].'&album_id='.$album_uid[1].'&count=1000&v=5.53');
$jsondecode = json_decode($photos_get, true);
$pids = array_map('map', $jsondecode['response']);

function map($value){
    return $value['id'];
}

Постоянно использую эти функции: array_maparray_reduce и array_filter. Аналогичные есть в JS и C#
 
 

$photos_get = vkapi('photos.get?owner_id='.$album_uid[0].'&album_id='.$album_uid[1].'&count=1000');
$jsondecode = json_decode($photos_get, true);
$raw_data = $jsondecode['response'];
foreach ($raw_data as $pid) {
    $pids[] = $pid[pid];
}

Кавычки забыл поставить $pid['pid'];


Сообщение отредактировал FTOH: 12 09 2016 - 06:01

    • 1
  • Наверх

OFFLINE Отправлено

KemperenoК
группа пользователя

    smmquick.ru Продвижение ВК / INST

  • Cообщений: 38 803
  • Друзей:917
  • Поинты: 3 199
  • Предупреждений: 0
  • Онлайн:301д 19ч 57м
1 721

Закрыто.
Ответ дан


ab84124cff58.gif 25.05 hstoorgfil_6794682_23572992.gif 06.02cf8eb5f80884.png 04.03 536eea51bd83.png 09.02

    • 0
  • Наверх