Есть массив
array (size=3)
0 =>
array (size=7)
0 => string 'минус 10% скидка' (length=30)
1 => string 'b9657352-a675-11e7-aed4-60a44c3d76ed' (length=36)
2 => string '10' (length=2)
3 => string 'Скидка (наценка) процентом' (length=48)
4 => string '2018-05-24' (length=10)
5 => string '2018-05-31' (length=10)
6 => string 'сапог B3 коричневый' (length=34)
1 =>
array (size=7)
0 => string 'минус 22% скидка2' (length=28)
1 => string '00000000-0000-0000-0000-000000000000' (length=36)
2 => string '22' (length=2)
3 => string 'Скидка (наценка) процентом' (length=48)
4 => string '2018-05-06' (length=10)
5 => string '2018-06-01' (length=10)
6 => string 'сапог Ф красный' (length=28)
2 =>
array (size=7)
0 => string 'минус 22% скидка2' (length=28)
1 => string 'b9657352-a675-11e7-aed4-60a44c3d76ed' (length=36)
2 => string '22' (length=2)
3 => string 'Скидка (наценка) процентом' (length=48)
4 => string '2018-05-06' (length=10)
5 => string '2018-06-01' (length=10)
6 => string 'сапог B3 коричневый' (length=34)
Подскажите каким путем идти лучше. Необходимо найти дублирующее значение (в примере 'b9657352-a675-11e7-aed4-60a44c3d76ed') и оставить только тот массив из найденного дубля, в котором значение array[2] будет максимальным.
Т.е должно остаться вот так:
array (size=2)
0 =>
array (size=7)
0 => string 'минус 22% скидка2' (length=28)
1 => string '00000000-0000-0000-0000-000000000000' (length=36)
2 => string '22' (length=2)
3 => string 'Скидка (наценка) процентом' (length=48)
4 => string '2018-05-06' (length=10)
5 => string '2018-06-01' (length=10)
6 => string 'сапог Ф красный' (length=28)
1 =>
array (size=7)
0 => string 'минус 22% скидка2' (length=28)
1 => string 'b9657352-a675-11e7-aed4-60a44c3d76ed' (length=36)
2 => string '22' (length=2)
3 => string 'Скидка (наценка) процентом' (length=48)
4 => string '2018-05-06' (length=10)
5 => string '2018-06-01' (length=10)
6 => string 'сапог B3 коричневый' (length=34)
// создадим результирующий массив
$result = [];
// $src_array это ваш исходный массив
foreach($src_array as $item){
// назовем уникальную последовательность символов "КЛЮЧОМ"
// (uub9657352-a675-11e7-aed4-60a44c3d76ed) и будем собирать результирующий
// массив с этой последовательностью в качестве ключа
$key = $item[1];
// а значение для сравнения назовем "ЗНАЧЕНИЕМ"
$value = $item[2];
// будем добавлять текущий элемент в результирующий массив в том случае,
// если элемента с таким КЛЮЧОМ еще нет, и будем обновлять элемент
// результирующего массива с таким ключом, если ЗНАЧЕНИЕ текущего элемента
// больше
// при этом не важно сколько "дублей" было в исходном массиве 2 или 200, в
// результате останется элемент с наивысшем ЗНАЧЕНИЕМ
if(!array_key_exists($key, $result) || $value > $result[$key][2]){
$result[$key] = $item;
}
}
var_dump($result);
Как вычислить количество пробелов от начала строки до начала текста с помощью php? Интересует решение в одну строкуПример строки :
Ниже вы видите код c устаревшим mysql, помогите это все изменить в PDO или mysqliСамая основная головная боль это то, что я не могу сделать рабочие...
Есть статья с готовым кодом для регистрации и авторизации аккаунта: https://htmlwebru/php/example/avtorizacija2