Возврат первых x объектов от массива

Я предпочитаю сохранять в них в коде (использующий ORM, не встроенный или специальный), таким образом, они покрыты управлением исходным кодом, не имея необходимость иметь дело с сохранением .sql файлы.

кроме того, хранимые процедуры не по сути более безопасны. Можно записать плохой запрос с sproc так же легко как встроенный. Параметризованные встроенные запросы могут быть столь же безопасными как sproc.

131
задан SilentGhost 15 October 2009 в 10:14
поделиться

4 ответа

array_slice возвращает фрагмент массива

$sliced_array = array_slice($array, 0, 5)

- это код, который в вашем случае должен возвращать первые пять элементов

262
ответ дан 24 November 2019 в 00:16
поделиться

array_splice - Удалите часть массива и замените ее чем-то другим:

$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)

Из руководства PHP:

array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])

Если длина равна опущено, удаляет все от смещения до конца массива . Если длина указана и положительна, то многие элементы будут удалены. Если длина указана и имеет отрицательное значение, то концом удаленной части будет такое же количество элементов от конца массива. Совет: чтобы удалить все от смещения до конца массива, когда также указана замена, используйте count ($ input) для длины.

8
ответ дан 24 November 2019 в 00:16
поделиться

Если вы просто хотите вывести первые 5 элементов, вы должны написать что-то вроде:

<?php

  if (!empty ( $an_array ) ) {

    $min = min ( count ( $an_array ), 5 );

    $i = 0;

    foreach ($value in $an_array) {

      echo $value;
      $i++;
      if ($i == $min) break;

    }

  }

?>

Если вы хотите написать функцию который возвращает часть массива, вы должны использовать array_slice:

<?php

  function GetElements( $an_array, $elements ) {
    return array_slice( $an_array, 0, $elements );
  }

?>
2
ответ дан 24 November 2019 в 00:16
поделиться

Вы можете использовать функцию array_slice, но будете ли вы использовать другие значения? или только первые 5? потому что, если вы будете использовать только первые 5, вы можете использовать LIMIT в SQL.

0
ответ дан 24 November 2019 в 00:16
поделиться
Другие вопросы по тегам:

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