Задать вопрос

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

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

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

Мне необходимо, чтобы остались только эти элементы массива, в именно:
array ('Reviews', 'fio', 'email', 'categoryRev', 'review');
  • Вопрос задан
  • 2825 просмотров
Подписаться 3 Оценить 5 комментариев
Решения вопроса 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')
Ответ написан
Ваш ответ на вопрос

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

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