@NubasLol

Laravel валидация массивов, как получить следующий элемент?

Используя свездочку array.* = ''правила" все круто работает, но сейчас возникла необходимость сравнить предыдущий элемент массива со следующим, есть такой способо? Возможно используя Rule
  • Вопрос задан
  • 419 просмотров
Решения вопроса 1
@mykolaim
PHP developer
Сделать кастомное правило и применять его к полю array, т.е.:
'array' => [new ArrayChecking()]

а внутри правила проверять элементы по нужному алгоритму, т.к. у вас будет доступ к всему массиву.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@atawerrus
array.0 => 'same:array.1'
Ответ написан
ARX2
@ARX2
Web-разработчик | Священник
Есть простой вариант через array_search. Я когда то использовал, но уже нет необходимости, массивы перебирать ни есть хорошо.

$arrayOne = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$arrayTwo = array(0 => 'yellow', 1 => 'blue', 2 => 'green', 3 => 'red');

Примерно будет выглядеть так:
foreach($arrayOne as $array => $value){

$key = array_search($value $arrayTwo); //Первым $key = 2 

if($key ...)
 ...
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы