@z0ddak
Мордор напоминает о себе

Как удалить первый элемент из массива?

...
...
...
...
...
...
...
...
...
  • Вопрос задан
  • 188 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
array_filter — Фильтрует элементы массива с помощью callback-функции

https://www.php.net/manual/ru/function.array-filter.php
Ответ написан
Комментировать
@z0ddak Автор вопроса
Мордор напоминает о себе
Ни array_slice(), ни array_filter() не подошли, тут подробнее.
Реализовал следующим образом, через array_diff_key():
if ($_POST['member'] == 1) {

	// подключаемся к БД "auth"
	$auth = new Flintstone('auth', [

		'dir'       => './database/',
		'formatter' => new JsonFormatter()
	]);

    // выбираем все записи в таблице
    $data = $auth->getAll();

    // формируем тело ответа
    $table_data = json_encode($data, JSON_FORCE_OBJECT);
    $arr        = json_decode($table_data, true);

    // отфильтруем ненужный нам элемент
    $filterOutKeys = array( KEY_NUM );
    $filteredArr = array_diff_key( $arr, array_flip( $filterOutKeys ) );

    $id         = 0;
    $newJson    = [

        'rows'  => array_map(

            function ($uid, $el) use (&$id) {

                $el['token_key'] = $uid;
                $el['id']        = $id++;
                return $el;
            },
            array_keys($filteredArr),
            array_values($filteredArr)
        )
    ];

	// отвечаем...
	echo json_encode($newJson);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы