[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужно рандомно поставить между буквами одну точку
sx000
function random_dot($in){
$a = explode(',',$in);
$str = $a[0];
$str = str_replace(".", "", $str);
$aName[] = array();
for($i=0; $i <= strlen($str)-1 ; $i++ ) {
$aName[] = $str[$i];
}
}

задача такая что нужно $str разобрать на буквы и вставить в рандомное место точку. Не как не могу сообразить помогите плз
Michael
У строки есть длина, по ней можно сгенерировать позицию вставки точки.

_____________
There never was a struggle in the soul of a good man that was not hard
kaww
вроде так
function random_dot($string) {
$length = mb_strlen($string);
$i = rand(1, $length-1);
return mb_substr($string, $i) . '.' . mb_substr($string, i*-1);
}
Игорь_Vasinsky
или

  function setDot($str){
$temp = preg_split("##is", $str, -1, PREG_SPLIT_NO_EMPTY);

$result = null;

$pos = rand(1, (count($temp)-1));

foreach($temp as $k=>$letter){
if($k == $pos)
$result .= '.';

$result .= $letter;
}
return $result;
}


или сократить

  function setDot($str, $result = null){
$temp = preg_split("##is", $str, -1, PREG_SPLIT_NO_EMPTY);
$pos = rand(1, (count($temp)-1));

foreach($temp as $k=>$letter){
if($k == $pos) $result .= '.';
else $result .= $letter;
}
return $result;
}



 echo setDot('anyword');


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.