#php #laravel #algorithm
#php #laravel #алгоритм
Вопрос:
Итак, претенденты, у меня есть массив, который я создаю с помощью цикла, и я хочу проверить, были ли в массиве два индекса с разными кодами
Итак, мой массив похож :
Array (
[0] => Array (
[0] => 1
[1] => 3f
)
[1] => Array (
[0] => 2
[1] => 3s
)
[2] => Array (
[0] => 2
[1] => 2f
)
)
Здесь есть два индекса 2, и они не имеют одинакового кода ‘3s’ и ‘2f’, так что это ошибка
другой пример
$err=array();
array_push($err, array(1,'2f'));
array_push($err, array(2,'3f'));
Здесь, если новая запись array_push($err, array(2,'4f'));
, как я могу проверить, есть ли в массиве индекс 2 и нет ли сходства кода
Комментарии:
1. Что вы подразумеваете под «тестированием их двух кодов»? Если вы знаете, что элемент присутствует в массиве, почему бы не прочитать его и не выполнить сравнение, которое вы хотите выполнить?
2. Итак, если я вас правильно понимаю
$file->INDEX
, значение всегда должно увеличиваться на 1. Итак, чтобы проверить, что вы могли бы сравнить его с вашим$i 1
? И если все коды должны быть одинаковыми, то, я думаю, вы могли бы сказать, что все они должны соответствовать самому первому коду, который вы вводите. Поэтому сохраните значение$file->CODE
из первого элемента в отдельной переменной и сравнивайте каждую новую запись с этим кодом перед его вставкой.3. @NicoHaase Я должен проверить коды, потому что, если два элемента имеют одинаковые коды, ошибки нет
4. @DirkScholten нет, коды должны быть одинаковыми для двух одинаковых индексов, а не для всех
5. не могу понять вашу проблему.
Ответ №1:
Возможно, я неправильно истолковал это, но мне кажется, что последний приведенный вами пример может быть неверным и, скорее, так и должно быть в элементе 3 0 => 2, 1 => '3s'
(после вашего редактирования вы подтвердили мои подозрения)
Итак, моя интерпретация заключается в том, что вы хотите проверить, существует ли в вашем наборе данных тот же ИНДЕКС, но другой КОД.
Чтобы проверить это, вы можете использовать 1-мерный массив и выполнить проверку следующим образом:
foreach ($files as $file ) {
if (isset($this->tab[$file->INDEX]) amp;amp; $this->tab[$file->INDEX] != $file->CODE) {
// Failure state
}
$this->tab[$file->INDEX] = $file->CODE;
}