Vysvětlení řetězcových funkcí v PHP s příklady

⚡ Chytré shrnutí

Řetězce v PHP jsou uspořádané kolekce znaků a jeden ze základních datových typů jazyka. Tento návod ukazuje čtyři způsoby, jak vytvořit řetězce: jednoduché uvozovky, dvojité uvozovky, heredoc a nowdoc, a poté demonstruje nejužitečnější vestavěné funkce pro práci s řetězci s příklady.

  • 🔤 Co jsou to řetězce: Řetězec je posloupnost znaků a základní datový typ PHP používaný k uchovávání textu, jako jsou jména, zprávy a HTML.
  • " Jednoduché citace: Řetězce v jednoduchých uvozovkách jsou doslovné; proměnné se nerozšíří a interpretují se pouze uvozovky a zpětné lomítko.
  • " Double Citáty: DoubleŘetězce v uvozovkách rozšiřují proměnné a interpretují escape-systémy jako \n, což je činí ideálními pro dynamický text.
  • 📄 Zde uvedeno: Heredoc vytváří víceřádkové řetězce s proměnnou expanzí, bez escaping dvojité uvozovky uvnitř nich.
  • 🔒 Nowdoc: Nowdoc funguje jako jednoduché uvozovky pro víceřádkový nezpracovaný text, neprovádí žádnou analýzu ani expanzi proměnných.
  • 🔧 Funkce pro práci s řetězci: Funkce jako strlen, strpos, substr, str_replace a explode kontrolují a transformují řetězcové hodnoty.
  • 🤖 AI Assist: Nástroje umělé inteligence dokáží navrhnout správnou řetězcovou funkci pro daný úkol a vygenerovat pomocné nástroje pro čištění nebo formátování.

PHP řetězce

Co je String v PHP?

Řetězec je sbírka znaků. Řetězec je jedním z datových typů podporovaných PHP.

Řetězcové proměnné mohou obsahovat alfanumerické znaky. Řetězce se vytvářejí, když:

  • Deklarujete proměnnou a přiřadíte jí řetězcové znaky.
  • Řetězce PHP používáte přímo s příkazem echo.
  • Řetězcové funkce v PHP jsou jazykové konstrukty, které vám pomáhají pracovat s textem.
  • Když se naučíte, jak řetězce fungují v PHP a jak s nimi manipulovat, stanete se velmi efektivním a produktivním vývojářem.

PHP vytváří řetězce pomocí jednoduchých uvozovek s příkladem

Pojďme se nyní podívat na čtyři různé způsoby vytváření a manipulace s řetězci v PHP.

Vytváření řetězců v PHP pomocí jednoduchých uvozovek: nejjednodušší způsob, jak vytvořit řetězec, je použít jednoduché uvozovky.

Podívejme se na příklad, který v PHP vytvoří jednoduchý řetězec.

<?php
var_dump('You need to be logged in to view this page');
?>

Výstup:

string(42) "You need to be logged in to view this page"

Pokud je jednoduchá uvozovka součástí hodnoty řetězce, lze ji ukončit pomocí zpětného lomítka.

Níže uvedený kód ukazuje, jak uniknout jedné uvozovce.

<?php
echo 'I \'ll be back after 20 minutes';
?>

Výstup:

I'll be back after 20 minutes

PHP vytvořit řetězce pomocí Double uvozovky s příkladem

Double Uvozovky se používají k vytváření relativně složitých řetězců ve srovnání s jednoduchými uvozovkami.

Názvy proměnných lze použít v uvozovkách a zobrazí se jejich hodnoty.

Podívejme se na příklad.

<?php
$name = 'Alicia';
echo "$name is friends with kalinda";
?>

PHP vytvořit řetězce pomocí Double citace

TADY,

  • Výše uvedený příklad vytvoří jednoduchý řetězec s hodnotou Alicia.
  • Název proměnné se poté použije v řetězci vytvořeném pomocí dvojitých uvozovek a její hodnota se interpoluje za běhu.

Výstup:

Alicia is friends with kalinda

Kromě variabilní interpolace může řetězec dvojitých uvozovek také escapovat speciální znaky, jako například „\n pro posun řádku, \$ pro znak dolaru“ atd.

Další příklady. Předpokládejme, že máme následující kód.

<?php $pwd = "pas$word"; echo $pwd; ?>

Výstup:

NOTICE : Undefined variable
pas

Spuštění výše uvedeného kódu vydá upozornění „Upozornění: Nedefinovaná proměnná“.

Je to proto, že $word je považováno za a proměnlivý.

Pokud chceme, aby byl znak dolaru považován za doslovnou hodnotu, musíme mu uniknout.

<?php
$word = "word";
$pwd = "pas\$word";
echo $pwd; ?>

Výstup:

pas$word

PHP Heredoc s příkladem

Metodologie heredoc se používá k vytváření poměrně složitých řetězců ve srovnání s uvozovkami.

Heredoc podporuje všechny funkce uvozovek a umožňuje vytvářet řetězcové hodnoty s více než jedním řádkem bez zřetězení řetězců v PHP.

Použití dvojitých uvozovek k vytvoření řetězců, které mají více řádků, generuje chybu.

Můžete také použít uvozovky uvnitř bez klávesy escping Je.

Níže uvedený příklad ilustruje, jak se metoda heredoc používá k vytváření řetězcových hodnot.

<?php

$baby_name = "Shalon";

echo <<<EOT

When $baby_name was a baby,

She used to look like a "boy".

EOT;

?>

TADY,

<< je oddělovač řetězce.

EOT je zkratka pro konec textu.

Mělo by být definováno na samostatném řádku na začátku a na konci řetězce.

Poznámka: Místo EOT můžete použít cokoli, co se vám líbí.

PHP Heredoc

Výstup:

When Shalon was a baby, She used to look like a "boy".

PHP Nowdoc s příkladem

Metoda pro vytváření řetězců nowdoc je podobná metodě heredoc, ale funguje stejně jako jednoduché uvozovky.

Uvnitř nowdocu neprobíhá žádná analýza.

Nowdoc je ideální pro práci s nezpracovanými daty, která není třeba parsovat.

Níže uvedený kód ukazuje implementaci nowdoc.

<?php

$baby_name = "Shalon";

$my_variable = <<<'EOT'

When $baby_name was a baby,

She used to look like a "boy".

EOT;

echo $my_variable;

?>

Výstup:

When $baby_name was a baby, She used to look like a "boy".

Příklady funkcí PHP String

Řetězcové funkce v PHP se používají k manipulaci s hodnotami řetězců.

Nyní se podíváme na některé běžně používané řetězcové funkce v PHP.

funkce Description Příklad Výstup
strtolower Používá se k převodu všech řetězcových znaků na malá písmena echo strtolower('Benjamin'); výstupy benjamin
strtoupper Používá se k převodu všech řetězcových znaků na velká písmena echo strtoupper('george w bush'); výstupy GEORGE W BUSH
strlen Funkce pro výpočet délky řetězce se používá k počítání počtu znaků v řetězci. Počítají se také mezery mezi znaky. echo strlen('spojené státy americké'); 24
explodovat Používá se k převodu řetězců na proměnnou pole $settings = explode(';', “host=localhost; db=prodej; uid=root; pwd=demo”); print_r($nastaveni); Pole ( [0] => hostitel=místní hostitel [1] => db=prodej [2] => uid=root [3] => pwd=demo )
podstr Používá se k vrácení části řetězce. Přijímá tři základní parametry: řetězec, který má být zkrácen, počáteční pozici a počet vrácených znaků. $my_var = 'Toto je opravdu dlouhá věta, kterou chci zkrátit';echo substr($my_var,0, 12).'…'; Toto je re…
str_replace Používá se k vyhledání a nahrazení zadaných řetězcových hodnot v daném řetězci. funkce přijímá tři argumenty: text, který má být nahrazen, nahrazující text a text, který má být analyzován. echo str_replace ('ten', 'ten', 'notebook je velmi drahý'); ten notebook je hodně drahý
strpos Používá se k vyhledání a vrácení pozice znaku nebo znaků v řetězci. Tato funkce přijímá dva argumenty. echo strpos('Programování v PHP','Pro'); 4
sha1 Používá se k výpočtu hodnoty hash SHA-1 hodnoty řetězce echo sha1('heslo'); 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
md5 Používá se k výpočtu MD5 hash řetězcové hodnoty echo md5('heslo'); 5f4dcc3b5aa765d61d8327deb882cf99
počet_slov Používá se k počítání počtu slov v řetězci. echo str_word_count('Toto je opravdu dlouhá věta, kterou chci zkrátit'); 12
ucfirst Převeďte první znak hodnoty řetězce na velké písmeno echo ucfirst('respekt'); Výstupy Respekt
lcfirst Udělejte první znak hodnoty řetězce malým písmenem echo lcfirst('RESPEKT'); Výstupy RESPECT

Nejčastější dotazy

Pro spojení řetězců použijte operátor tečka, například $full = $first . ' . $last;. K existujícímu řetězci můžete také připojit operátor .=, který přidá text na konec proměnné.

V PHP 8 použijte str_contains($haystack, $needle), která vrací hodnotu true nebo false. Ve starších verzích použijte strpos() a ověřte, zda výsledek není identický s false, protože shoda na pozici 0 je false.

Řetězce v PHP jsou měnitelné a lze je indexovat jako pole. Znak se přečte pomocí $str[0] a dokonce se změní pomocí $str[0] = 'H'. Index je založen na nule, takže první znak je na pozici 0.

Ano. Umělá inteligence dokáže psát pomocné funkce, které ořezávají mezery, odstraňují tagy, normalizují velká a malá písmena nebo zpracovávají text pomocí slugify, a to kombinací funkcí jako trim, strip_tags a preg_replace. RevProhlédněte si pravidla tak, aby přesně odpovídala vašemu zadání.

Ano. Popište cíl, například nalezení, nahrazení nebo rozdělení textu, a umělá inteligence vás může nasměrovat k funkcím jako strpos, str_replace, substr nebo explode a ukázat krátký příklad pro každou z nich.

Shrňte tento příspěvek takto: