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



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

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

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

OFFLINE Отправлено

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

    В адалте денег нет. Выпьем с горя ?

  • Cообщений: 3 105
  • Друзей:5
  • Поинты: 5
  • Предупреждений: 0
  • Онлайн:101д 17ч 50м
498

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

 

Через 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
группа пользователя

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

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

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


    • 0
  • Наверх

OFFLINE Отправлено

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

    В адалте денег нет. Выпьем с горя ?

  • Cообщений: 3 105
  • Друзей:5
  • Поинты: 5
  • Предупреждений: 0
  • Онлайн:101д 17ч 50м
498

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 Отправлено

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

    C# Developer

  • Cообщений: 10 342
  • Друзей:257
  • Поинты: 7 809
  • Предупреждений: 0
  • Онлайн:204д 13ч 26м
868

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

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


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

    • 1
  • Наверх

OFFLINE Отправлено

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

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

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

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


    • 1
  • Наверх

OFFLINE Отправлено

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

    В адалте денег нет. Выпьем с горя ?

  • Cообщений: 3 105
  • Друзей:5
  • Поинты: 5
  • Предупреждений: 0
  • Онлайн:101д 17ч 50м
498

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
группа пользователя

    Постоянный

  • Cообщений: 1 715
  • Друзей:72
  • Поинты: 3
  • Предупреждений: 70
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
  • Наверх

ONLINE Отправлено

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

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

  • Cообщений: 41 501
  • Друзей:1316
  • Поинты: 15 306
  • Предупреждений: 0
  • Онлайн:327д 1ч 36м
1 978

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


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

    • 0
  • Наверх