Quantcast
Channel: Сообщество PHP DevelStudio - среда разработки программ
Viewing all articles
Browse latest Browse all 6336

Найти самую длинную строку, и маленькую StrP()

$
0
0
Написал функцию для нахождения самой длиной строки и большой.
Пользование:
Скрытый текст:

StrP($Obj, $Ret = 1, $min_ = 0)

$Obj -> текст или одинарный массив
$Ret -> имеет 3 возврата это:
1 -> вернет самую большую строку, если третий параметр $min_ 1, вернет массив, пример
Скрытый текст:
Код:

array(
        ['Max'] =>'самая длинная строка',
        ['Min']=>'самая длинная строка'
)


2 это: работает так же но вернет длину, пример
Скрытый текст:
Код:

array(
      ['Max'] =>'самая длинная строка в длине',
        ['Min']=>'самая длинная строка в длине'
)


3: вернет такой массив
Скрытый текст:
Код:

array(
        ['Max'] =>  array(
                ['Text'] =>'самая длинная строка',
                ['Count']=>'самая длинная строка'
        }
        ['Min'] =>  array(
                ['Text'] =>'самая длинная строка в длине',
                ['Count']=>'самая длинная строка в длине'
        }
)




пример
PHP код:

$T StrP(c("memo1")->text1);
pre($T);
-------------------------------------------
$T StrP(c("memo1")->text2);
pre($T);
#-------------------------------------------
$T StrP(c("memo1")->text3);
pre($T);
#--------------------------------------------------------------
$T StrP(c("memo1")->text1);
pre($T);
#-------------------------------------------
$T StrP(c("memo1")->text2);
pre($T);
#-------------------------------------------
$T StrP(c("memo1")->text3);
pre($T);

#----------- array так же как и выше

$T StrP(array('21ewfw','11111','ew'), 3);
pre($T); 

[/PHP]

функция
Скрытый текст:

PHP код:

function StrP($Obj$Ret 1$min_ 0) {
    if(!
is_array($Obj)) {
        
$Obj explode(_BR_$Obj);
    };

    
$max '';
    foreach(
$Obj as $i => $v) {
        if(
strlen($max) <= strlen($v)) {
            
$max $v;
        };
    } unset(
$i$v);

    if(
$min_==1) {
        
$min $max;
        foreach(
$Obj as $i => $v) {
            if(
strlen($min) >= strlen($v)) {
                
$min $v;
            };
        } unset(
$i$v);
    }

    switch(
$Ret) {
        case 
1:
            if(
$min_==1) {
                
$Ret = array('Max'=>$max'Min'=>$min);
            } elseif(
$min_==0) {
                
$Ret = array($max);
            }
        break;
        case 
2:
            if(
$min_==1) {
                
$Ret = array('Max'=>strlen($max), 'Min'=>strlen($min));
            } elseif(
$min_==0) {
                
$Ret = array(strlen($max));
            }
        break;
        case 
3:
            if(
$min_==1) {
                
$Ret = array('Max'=>array('Text'=>$max,'Count'=>strlen($max)), 'Min'=>array('Text'=>$min,'Count'=>strlen($min)));
            } elseif(
$min_==0) {
                
$Ret = array('Text'=>$max,'Count'=>strlen($max));
            }
        break;

        default:
            
$Ret __FUNCTION__.'($Obj => [array(), Text], $Ret => [1,2,3], $min_> = [0,1])'." {\n   return self::value;\n}";
    };
    unset(
$Obj$min_$max$min);
    return 
$Ret;



Viewing all articles
Browse latest Browse all 6336

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>