Autor | Zpráva | ||
---|---|---|---|
JitkaS Profil * |
#1 · Zasláno: 7. 12. 2017, 18:09:40
Potřebuji rozdělit dvojciferná čísla například 23 na 2 a 3 tj. zvlášť. V případě, že tam bude jen jednociferné číslo například 9, tak vypsat 0 a 9.
Jak toho mohu docílit? |
||
Tomášeek Profil |
#2 · Zasláno: 7. 12. 2017, 18:40:46
JitkaS:
Á, domácí úkol :-) Tak zkus zavzpomínat, co jste si říkali, třeba si na něco vzpomeneš. Aspoň trochu snahy by to chtělo projevit. |
||
JitkaS Profil * |
#3 · Zasláno: 7. 12. 2017, 18:45:51
Vydělit 10-ti a na rozdělení pak použít explode :)
Jop, díky za radu. |
||
Taps Profil |
#4 · Zasláno: 7. 12. 2017, 19:20:31
JitkaS:
deleni je zbytecny |
||
JitkaS Profil * |
#5 · Zasláno: 7. 12. 2017, 19:27:38
Tak, pak nevím :( Za radu budu moc ráda.
|
||
pcmanik Profil |
JitkaS:
$number = '23'; echo $number[0]; Koľko znakov je v stringu snaď vieš zistiť a ošetriť si teda tak jednociferné číslo. |
||
JitkaS Profil * |
#7 · Zasláno: 7. 12. 2017, 23:34:48
Jak se dá použít if přímo v echo? Tj. pokud $number[1]; bude prázdný, vypíše se nula.
|
||
mckay Profil |
#8 · Zasláno: 8. 12. 2017, 00:14:04
JitkaS:
Krok č. 1 by měl být zajistit, že to číslo, například 23 bude typu string, jinak nemůžeš indexovat jako $promenna[0]. Pokud to máš jako string, jsi v pohodě, pokud ne, můžeš to přetypovat buď napřímo $promenna = (string) $promenna; nebo pomocí funkce settype.
Pak buď uděláš if (isset($promenna[1])) { echo $promenna[0] . " " . $promenna[1]; } else { echo 0 . $promenna[0]; } Nebo to víceméně může provat i do toho echa stylem: echo (isset($promenna[1]) ? ($promenna[0] . " " . $promenna[1]) : 0 . $promenna[0]); |
||
weroro Profil |
Skúsil by som to takto (aby to nebolo dokonale napísané):
function rozdelCisla($ciselnyVstup) { $vystup = ''; if (!isset($ciselnyVstup) || !is_numeric($ciselnyVstup)) return $vystup; $cislo = trim((string)$ciselnyVstup); for ($i = 0; $i < strlen($cislo); $i++) { if (strlen($vystup)) $vystup .= ' '; $vystup .= $cislo[$i]; } if (strlen($vystup) < 2) $vystup = '0 ' . $vystup; return $vystup; } var_dump(rozdelCisla('123')); // "1 2 3" var_dump(rozdelCisla('45')); // "4 5" var_dump(rozdelCisla('9')); // "0 9" var_dump(rozdelCisla('123456')); // "1 2 3 4 5 6" var_dump(rozdelCisla('65c4')); // "" Nevypíše nič |
||
Alphard_ Profil * |
#10 · Zasláno: 8. 12. 2017, 12:29:33
weroro:
„aby to nebolo dokonale napísané“ Okej, tento aspekt je splněn. Ještě by na to šlo napsat vlastní framework. JitkaS [#1]: Elegantně můžeš použít str_pad() k vyrovnání se s jednocifernými čísly. A pak buď přímo indexovat, nebo třeba str_split(). PHP má hodně vestavěných funkcí, projdi si je, je to užitečné. |
||
Keeehi Profil |
#11 · Zasláno: 8. 12. 2017, 13:08:43
Na doplnění čísla nulami se dá také použít
sprintf .
|
||
Časová prodleva: 5 let
|
0