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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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