Получить предыдущую и следующую строку совпадающей строки из 2d-массива.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Получить предыдущую и следующую строку совпадающей строки из 2d-массива.

Сообщение Anonymous »

У меня есть следующий код для сортировки элементов по временной метке.

Код: Выделить всё

$arr = [];
foreach(glob('*.json') AS $item) {
$data = json_decode(file_get_contents($item), true);
$arr[] = [
'taken' => $data['taken'],
'file-name' => $data['file-name'],
'account' => (empty($data['account']) ? null : $data['account'])
];
}

usort($arr, function($x, $y) { return $x['taken'] - $y['taken']; });
Вот содержимое четырех файлов JSON, которые есть в моей папке:

Код: Выделить всё

{"hash":"1b668ef9398fe5fc9f68a3ad87d04a77","account":null,"file-name":"DSC00045","place":null,"taken":1663759434,"uploaded":1759397192},{"hash":"bccfb4221adc1e00b4fa34eef309d025","account":null,"file-name":"DSC00170","place":null,"taken":1663760473,"uploaded":1759397201},{"hash":"5aa05170b8e6c21b947db1a20b5a93ac","account":null,"file-name":"DSC00230","place":null,"taken":1663773888,"uploaded":1759397227},{"hash":"8de553beeda575d16377e62e77183507","account":null,"file-name":"DSC00318","place":null,"taken":1547596822,"uploaded":1759397265}
Я хочу получить предыдущий и следующий элемент на основе взятого (это временная метка).
В настоящее время я напутал и использовал следующее, чтобы получить текущий элемент:

Код: Выделить всё

foreach($arr_test AS $test) {
if($test['file-name'] == $get_image) {
$current = $test;
}
}

var_dump($current);

Код: Выделить всё

$get_item
— это переменная для (isset($_GET['img']) ?safetag($_GET['img']) : null), которая содержит имя файла.
Но теперь я застрял. Я понятия не имею, как получить предыдущий и следующий элемент на основе метки времени.
Моя цель — отсортировать все элементы из первого foreach на основе снятого, а затем получить текущее, предыдущее и следующее имя файла на основе того, когда были сделаны фотографии, независимо от того, как они сортируются в папке. Это для фотогалереи.

Подробнее здесь: https://stackoverflow.com/questions/797 ... a-2d-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»