Выделить из массива PHP кусочек, остальное удалить. Как это сделать?

Добрый вечер!
Уже битых наверно 2 часа ломаю голову, как реализовать выборочное удаление из массива, тщетно.
Помогите пожалуйста решить эту головоломку :)

Итак имеется массив:
array ('Category', 'nameCategory', 'Reviews', 'fio', 'email', 'categoryRev', 'review', 'SignIn', 'login', 'password');

Мне необходимо, чтобы остались только эти элементы массива, в именно:
array ('Reviews', 'fio', 'email', 'categoryRev', 'review');
  • Вопрос задан
  • 2801 просмотр
Решения вопроса 1
slavikse
@slavikse Автор вопроса
Код полон излишеств, но работает :)

$start = NULL;
$stop = NULL;

foreach ( $array as $key => $value ) {
    // Если не равны, значит не искомое имя Таблицы -> ищем дальше
    if ( $array === $value ) {
      $start = $key; // Инициализируем переменную числом, когда найдется сравниваемая Таблица
      continue;
    } elseif ( ( is_numeric( $start ) && checkForOneLargeLetter( $value ) ) ||
            end( $array ) === $value ) {
      // Выполнится только если была найдена редактируемая Таблица, либо это конец массива
      $stop = $key;
      
      if ( end( $array ) === $value ) {
        $stop ++;
      }
      
      echo 'Stop : ' . $stop . ' - ' . $value . '<br>';
      break;
    }
  }

  $stop -= $start;
  $array = array_slice( $array, $start, $stop );

----------- функция из кода ------------
function checkForOneLargeLetter( $value ) {
// Паттерн для поиска строк, начинающихся с одной большой буквы
  $pattern = '/^[A-Z].*/';

  if ( preg_match( $pattern, $value ) ) {
    return true;
  }

  return false;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
svd71
@svd71
foreach($arData as $key => $val)
if (strtolower($val) == $val)
  unset($arData[ $key ]);
Ответ написан
Sekira
@Sekira
$old_array = array ('Category', 'nameCategory', 'Reviews', 'fio', 'email', 'categoryRev', 'review', 'SignIn', 'login', 'password');
$new_array = array_slice($old_array, 2, 5);

// в $new_array будет array ('Reviews', 'fio', 'email', 'categoryRev', 'review')
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SymbioWay Москва
от 120 000 до 180 000 ₽
Директ Кредит Казань
от 70 000 до 120 000 ₽
ИМАГ Москва
от 90 000 до 100 000 ₽
14 авг. 2020, в 02:27
1000 руб./за проект
14 авг. 2020, в 01:51
600 руб./за проект
13 авг. 2020, в 23:56
200000 руб./за проект