Pereiti prie turinio

[Žalias]Reikia random raidės.


Rekomenduojami pranešimai

Esu visiškai žalias , mokinuosi savarankiškai niekas nepadeda ,gal pasiūlymu kokiu galėtumėt kur eiti mokintis po truputi į temą. O dabar prie reikalo darausi tokį mažą kodą ir man reikia kaip nors ištraukti betkokia raidę iš žodžio kuri norodžiau pwz:

&uzdarbis = "uzdarbis.lt";

su funkcija

rand();

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Esu visiškai žalias , mokinuosi savarankiškai niekas nepadeda ,gal pasiūlymu kokiu galėtumėt kur eiti mokintis po truputi į temą. O dabar prie reikalo darausi tokį mažą kodą ir man reikia kaip nors ištraukti betkokia raidę iš žodžio kuri norodžiau pwz:

&uzdarbis = "uzdarbis.lt";

su funkcija

rand();

https://www.google.com/search?client=opera&rls=en&q=random+leter+from+string&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest#safe=off&client=opera&hs=Dsr&rls=en&channel=suggest&sclient=psy-ab&q=random+letter+from+string+php&oq=random+letter+from+string+php&gs_l=serp.3..0i8i30l2.8520.11634.0.12187.4.4.0.0.0.0.224.637.0j3j1.4.0...0.0...1c.1.11.psy-ab.F3YFay-IN3E&pbx=1&bav=on.2,or.r_qf.&bvm=bv.45645796,d.d2k&fp=409b96ea81725798&biw=1857&bih=996

 

kadangi mokais savarankiskai tai iprask googlint. :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Žodį (jo raides) paverti į masyvą ir tada naudoji array_rand funkciją. Į masyvą verti kad ir su str_split funkcija.

Žodį jo raidęs paverčiu į masyva tai šitaip? :

$uzdarbis = strlen ("UzdarbisLT");

, jį parodyti reikalinga

print $uzdarbis;

, kaip toliau naudoti funkcijas?

 

print rand(0, strlen($uzdarbis));

šitaip pabandžiau spauzdinti , viskas lyg normaliai , tik spausdiną skaičių , o reikia raidę.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Žodį jo raidęs paverčiu į masyva tai šitaip? :

$uzdarbis = strlen ("UzdarbisLT");

, jį parodyti reikalinga

print $uzdarbis;

, kaip toliau naudoti funkcijas?

 

print rand(0, strlen($uzdarbis));

šitaip pabandžiau spauzdinti , viskas lyg normaliai , tik spausdiną skaičių , o reikia raidę.

 

 

<?php

$uzdarbis = str_split('uzdarbis.lt') ; //zodis i masyva

$rand_letter = array_rand($uzdarbis,1); //atsitiktinis raktas

echo $uzdarbis[$rand_letter]; // pasiimi viena raide pagal auksiau gauta random rakta

?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

<?php

$uzdarbis = str_split('uzdarbis.lt') ; //zodis i masyva

$rand_letter = array_rand($uzdarbis,1); //atsitiktinis raktas

echo $uzdarbis[$rand_letter]; // pasiimi viena raide pagal auksiau gauta random rakta

?>

 

Arba dar paprasčiau:

 

 

$string = "uzdarbis.lt";

echo $string[rand(0, strlen($string))]

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Arba dar paprasčiau:

 

 

$string = "uzdarbis.lt";

echo $string[rand(0, strlen($string))]

 

Wrong! $string[n] gražiną n-tąjį stringo bitą, o ne simbolį, todėl jei pasitaikys daugiabitis simbolis - bus bugas. Reikia naudoti mb_substr. Dėl tos pačios priežasties reikia naudoti mb_strlen vietoj strlen.

Patarčiau nusistatyti koduotė į UTF-8, jei bus naudojami multibitiniai simboliai.

Tai galima padaryti mb_internal_encoding f-ja arba pateikiant UTF-8 kaip ketvirtą mb_substr f-jos parametrą.

Kodėl naudoji kabutes, nors jokio kintamojo į stringą nededi?

Geriau naudoti apostrofus šiose situacijose. (sutaupoma tūkstantinė sekundės dalis mūsų brangaus gyvenimo).

Mt_rand sugeneruoja atsitiktinesnį skaičių nei rand, todėl rand < mt_rand.

 

mb_internal_encoding('UTF-8');
$string = 'uždarbis.lt'; // kabutės < apostrofai
$rand   = mt_rand(0, (mb_strlen($string)-1));
echo mb_substr($string, $rand, 1); // mt_rand > rand. Mt_substr > []

Redagavo prodiger
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Wrong! $string[n] gražiną n-tąjį stringo bitą, o ne simbolį, todėl jei pasitaikys daugiabitis simbolis - bus bugas. Reikia naudoti mb_substr. Dėl tos pačios priežasties reikia naudoti mb_strlen vietoj strlen.

Patarčiau nusistatyi koduotė į UTF-8, jei bus naudojami multibitiniai simboliai.

Tai galima padaryti mb_internal_encoding f-ja arba pateikiant UTF-8 kaip ketvirtą mb_substr f-jos parametrą.

Kodėl naudoji kabutes, nors jokio kintamojo į stringą nededi?

Rekomenduojama naudoti apostrofus šiose situacijose. (sutaupoma tūkstantinė sekundės dalis mūsų brangaus gyvenimo).

Mt_rand sugeneruoja atsitiktinesnį skaičių nei rand, todėl rand < mt_rand.

 

mb_internal_encoding('UTF-8');
$string = 'uždarbis.lt'; // kabutės < apostrofai
$rand   = mt_rand(0, (mb_strlen($string)-1));
echo mb_substr($string, $rand, 1); // mt_rand > rand. Mt_substr > []

 

Taip, tą pavyzdį rašiau specialiai lotyniškom raidėm pritaikytą. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...