PHP минимальное значение

131
07 декабря 2019, 03:50

Есть строка вида ID1==Vasya==200==URL1|ID2==Petya==100==URL2|ID3==Sergey==300==URL3| и т.д. Это только пример, цифры, имена и URL могут быть разными. Как правильно найти все данные между "|" которые содержат минимальное число? В нашем примере 100,ID2,Petya,URL2

Начал так:

$arr=explode("|", $BDuser);
foreach($arr as $k){
@list($id, $name, $digit, $url) = explode('==',$k);
If(){
   что дальше?
}}
Answer 1

Кажется, так:

<?php
$arr = explode("|", "ID1==Vasya==200==URL1|ID2==Petya==100==URL2|ID3==Sergey==300==URL3");
$min = PHP_INT_MAX;
$res = 0;
foreach($arr as $k){
    $els = explode("=", $k);
    if ($els[4] < $min){
        $res = $els[4].",".$els[0].",".$els[2].",".$els[6];
        $min = $els[4];
    }
}
echo $res;

Вывод:

100,ID2,Petya,URL2

Посмотреть в работе.

READ ALSO
Laravel 5.5 + MSSQL 2008. Ошибка с записью timestamps

Laravel 5.5 + MSSQL 2008. Ошибка с записью timestamps

добавляю данные в бд так:

136
Что быстрее json_decode или explode?

Что быстрее json_decode или explode?

Что быстрее json_decode или explode? Информация хранится в виде 1,2,3 есть возможность изменить на [1,2,3] В дальнейшем требуется из этих данных получить...

116
Как убрать порт 433 из url?

Как убрать порт 433 из url?

Метод, формирующий тег canonical, возвращает:

174
NaN в ajax post

NaN в ajax post

Подскажите пожалуйста в консоли выводит слово "Принят" а в mysql записывает NaNВ чем может быть проблема?

121