PHP je jeden z nejoblíbenějších programovacích jazyků, který se široce používá k vytváření dynamických webových stránek a aplikací. Jedním z běžných úloh v PHP je získat pouze digitální hodnoty z řádku nebo proměnné. V tomto článku se podíváme na pět jednoduchých způsobů, které vám pomohou uvést pouze čísla v PHP.
Prvním způsobem je použití regulárních výrazů. Regulární výrazy jsou mocným nástrojem pro práci s textem, který vám umožňuje najít a extrahovat různé části řádku. Pro získání pouze digitálních hodnot použijte následující kód:
$string = "abc123def456";$numbers = preg_replace("/[^0-9]/", "", $string);echo $numbers; // Выведет: 123456
$string = "abc123def456";$numbers = "";for ($i = 0; $i < strlen($string); $i++) >echo $numbers; // Выведет: 123456
$string = "abc123def456";$numbers = "";for ($i = 0; $i < strlen($string); $i++) >echo $numbers; // Выведет: 123456
$string = "abc123def456";$numbers = strpbrk($string, "0123456789");echo $numbers; // Выведет: 123456
$string = "abc123def456";$numbers = str_replace(range(0, 9), "", $string);echo $numbers; // Выведет: 123456
V tomto článku jsme se zabývali pěti jednoduchými způsoby, jak odvodit pouze čísla v PHP. Každý z těchto způsobů má své přednosti a lze jej použít v různých situacích. Vyberte si nejvhodnější možnost pro svůj úkol a pokračujte v rozvoji svých programovacích dovedností v PHP!
Použití regulárních výrazů
PHP používá funkci pro práci s regulárními výrazy preg_match_all. Tato funkce vám umožňuje najít všechny shody s pravidelným výrazem v řádku a vrátit je do pole.
$string = "Hello 123 World";preg_match_all("/\d/", $string, $matches);$numbers = implode("", $matches[0]);
Použití cyklu a ověření každého symbolu
$string = "abc123def456";for ($i = 0; $i < strlen($string); $i++) >
V důsledku provedení tohoto kódu budou na obrazovce zobrazeny pouze číslice řádku "abc123def456" - "123456".
Výhodou tohoto přístupu je jeho jednoduchost a všestrannost - je použitelný pro jakýkoli řetězec a nevyžaduje použití dalších funkcí nebo knihoven. Tato metoda však může být poněkud méně účinná ve srovnání s jinými způsoby, zejména u velkých řetězců, protože ověření každého znaku může trvat déle.
| Výhody | Nedostatky |
|---|---|
| - Jednoduchost a všestrannost | - Může být poněkud méně efektivní pro velké řádky |
| - Nevyžaduje použití dalších funkcí nebo knihoven |
Použití vestavěných funkcí PHP k filtrování znaků
PHP nabízí mnoho vestavěných funkcí, které lze použít k filtrování znaků a extrahování pouze číslic z řádku.
Jedna z těchto funkcí - preg_replace. Používá regulární výrazy k nahrazení všech znaků, které nejsou číslicemi, prázdným řádkem:
$str = "abc123def456"; $onlyDigits = preg_replace('/\D/', '', $str);
V důsledku toho bude proměnná $onlyDigits obsahovat pouze čísla "123456".
Další užitečná funkce - filter_var. Tuto funkci lze použít k filtrování a kontrole různých typů dat, včetně čísel. Chcete-li extrahovat pouze čísla z řádku, můžete použít filtr FILTER_SANITIZE_NUMBER_INT:
$str = "abc123def456"; $onlyDigits = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
V důsledku toho bude proměnná $onlyDigits obsahovat pouze čísla "123456".
To jsou jen dva příklady z mnoha možných způsobů, jak používat vestavěné funkce PHP k filtrování znaků a získávání pouze číslic z řádku. Výběr konkrétní metody závisí na požadavcích a preferencích vývojáře.