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



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

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

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

OFFLINE Отправлено

makag
группа пользователя
  • Онлайн:256д 16ч 30м
-1 102

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

 

Через 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)

 

 

 





    • 0
  • Наверх

OFFLINE Отправлено

BlackShadow
группа пользователя
  • Онлайн:20д 18ч 55м
20

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


    • 0
  • Наверх

OFFLINE Отправлено

makag
группа пользователя
  • Онлайн:256д 16ч 30м
-1 102

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

    • 0
  • Наверх

Рекламный пост

OFFLINE Отправлено

Pleorin
группа пользователя
  • Онлайн:7д 15ч 40м
35

*
Популярное сообщение!

sms-online.pro - новый, динамически развивающийся, сайт по SMS активациям почти любого сервиса!

Наш сервис полностью автоматизирован

Мы можем похвастаться не только высокой скоростью работы сайта, но и скоростью предоставления SMS сообщений.

 

21124068.gif

 

Канал в Telegram: @smsonlinepro

Поддержка в Telegram: @Pleorin

Почта: support@sms-online.pro

 

 

---

[Рекламный пост]


Сообщение отредактировал Pleorin: 25 05 2018 - 16:50

http://sms-online.pro  - Лучший сайт по приему SMS от любого сервиса!  http://opt-vk.ru - Авторег ВК и других сайтов по оптовым ценам! 

    • 7
  • Наверх

OFFLINE Отправлено

Glor
группа пользователя
  • Онлайн:315д 8ч 55м
1 282

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

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


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

    • 1
  • Наверх

OFFLINE Отправлено

BlackShadow
группа пользователя
  • Онлайн:20д 18ч 55м
20

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


    • 1
  • Наверх

OFFLINE Отправлено

makag
группа пользователя
  • Онлайн:256д 16ч 30м
-1 102

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

    • 0
  • Наверх

OFFLINE Отправлено

FTOH
группа пользователя
  • Онлайн:131д 22ч 53м
226

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

Потому что надо указывать версию в запросе. Если не указать, то отдается 3.0
t54D2sU.png
 
Скоро твои запросы перестанут работать (Ссылка)
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К
группа пользователя
  • Онлайн:518д 22ч 23м
4 032

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


    • 0
  • Наверх