{"id":5192,"date":"2025-12-18T11:46:51","date_gmt":"2025-12-18T10:46:51","guid":{"rendered":"https:\/\/sutilweb.eu\/?page_id=5192"},"modified":"2025-12-18T11:46:52","modified_gmt":"2025-12-18T10:46:52","slug":"17-cadenas-de-caracteres-strings","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/php\/php-practico\/17-cadenas-de-caracteres-strings\/","title":{"rendered":"17. Cadenas de caracteres (strings)"},"content":{"rendered":"\n<p>Una <strong>cadena<\/strong> es una sucesi\u00f3n de caracteres, con lo cual podr\u00edamos acceder a un caracter de manera independiente.<\/p>\n\n\n\n<p><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$cadena = \"aeiou\";\n\n\/\/ Recuperar la letra e\necho $cadena&#91;1];<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tama\u00f1o de una cadena<\/h2>\n\n\n\n<p>Para saber el tama\u00f1o de una cadena existe la funci\u00f3n PHP <strong><em>strlen(nombre_cadena)<\/em><\/strong> a la que le pasamos como par\u00e1metro la cadena, esta funci\u00f3n nos devuelve la cantidad de bits de una cadena, si lo que queremos es que nos devuelva la cantidad de caracteres se utiliza la funci\u00f3n&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00cdndice de un determinado caracter<\/h2>\n\n\n\n<p>Existe una funci\u00f3n que permite saber el \u00edndice donde se encuentra determinado caracter, se trata de la funci\u00f3n <strong><em>strpos(cadena, caracter);<\/em><\/strong> a la que le pasamos dos argumentos, la cadena donde queremos buscar, y como segundo par\u00e1metro el caracter que queremos buscar su \u00edndice. Va a devolver&nbsp;la primera coincidencia comenzando de izquierda a derecha, si lo que quisi\u00e9ramos es que devolviera la primera coincidencia comenzando de derecha a izquierda utilizamos una funci\u00f3n parecida, <strong><em>strrpos(cadena, caracter);<\/em><\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Una cadena dentro de otra cadena<\/h2>\n\n\n\n<p>Para buscar una cadena dentro de otra utilizamos la funci\u00f3n <strong><em>str_contains(cadena, cadena que queremos buscar);<\/em><\/strong>, devolver\u00e1 un valor booleano en el caso de que se encuentre o no la cadena buscada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Recuperar cierta porci\u00f3n<\/h2>\n\n\n\n<p>Para ello existe la funci\u00f3n <strong><em>substr(cadena, \u00edndice a partir del cual comienza a substraer, \u00edndice hasta el que desea substraer);<\/em><\/strong> Si como segundo par\u00e1metro usamos un signo negativo, por ejm -2, devolver\u00e1 las dos&nbsp;\u00faltimas letras.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cambiar una porci\u00f3n de cadena por otra<\/h2>\n\n\n\n<p>Para ello tenemos la funci\u00f3n <strong><em>str_replace(cadena a reemplazar, cadena que reemplaza, cadena);<\/em><\/strong> a la que le pasamos 3 par\u00e1metros, la cadena a reemplazar, la cadena que reemplaza y por \u00faltimo la cadena.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resumen<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>strlen(cadena)<\/em><\/strong>: devuelve la cantidad de bits de la cadena pasada como par\u00e1metro<\/li>\n\n\n\n<li><strong><em>mb_strlen(cadena)<\/em><\/strong>: devuelve la cantidad de caracteres de la cadena pasada como par\u00e1metro<\/li>\n\n\n\n<li><strong><em>strpos(cadena, caracter)<\/em><\/strong>: devuelve el \u00edndice de la primera coincidencia de un caracter buscado en una cadena de izquierda a derecha<\/li>\n\n\n\n<li><strong><em>strrpos(cadena, caracter)<\/em><\/strong>: devuelve el \u00edndice de la primera coincidencia comenzando de derecha a izquierda<\/li>\n\n\n\n<li><strong><em>str_contains(cadena, cadena buscada)<\/em><\/strong>: devuelve un booleano si encuentra la cadena buscada dentro de la cadena a buscar.<\/li>\n\n\n\n<li><strong><em>str_starts_with(cadena, cadena se encuentra al inicio)<\/em><\/strong>: devuelve un booleano\u00a0dependiendo de si la cadena se encuentra al inicio o no.<\/li>\n\n\n\n<li><strong><em>str_ends_with(cadena, cadena se encuentra al final)<\/em><\/strong>: devuelve un booleano dependiendo de si la cadena se encuentra al final o no.<\/li>\n\n\n\n<li><strong><em>strcmp(cadena1, cadena2)<\/em><\/strong>: compara dos cadenas, devuelve tres posibles valores, 0 en el caso de que las cadenas sean iguales, 1 en el caso de que la segunda cadena sea m\u00e1s grande que la primera, y -1 en el caso de que la primera cadena sea m\u00e1s grande que la segunda. Las cadenas tienen que ser estrictamente iguales.<\/li>\n\n\n\n<li><strong><em>strcasecmp(cadena1, cadena2)<\/em><\/strong>: igual que la anterior pero no distingue may\u00fasculas de min\u00fasculas<\/li>\n\n\n\n<li><strong><em>substr(cadena, \u00edndice, longitud)<\/em><\/strong>: substrae una porci\u00f3n de la cadena pasada<\/li>\n\n\n\n<li><strong><em>strtolower(cadena)<\/em><\/strong>: transforma la cadena a min\u00fasculas<\/li>\n\n\n\n<li><strong><em>strtoupper(cadena)<\/em><\/strong>: transforma la cadena a may\u00fasculas<\/li>\n\n\n\n<li><strong><em>ucfirst(cadena)<\/em><\/strong>: devuelve la cadena con la primera letra en may\u00fascula<\/li>\n\n\n\n<li><strong><em>ucwords(cadena)<\/em><\/strong>: devuelve todas las primeras letras de\u00a0cada palabra en may\u00fasculas<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Una cadena es una sucesi\u00f3n de caracteres, con lo cual podr\u00edamos acceder a un caracter de manera independiente. Ejm Tama\u00f1o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4518,"menu_order":16,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5192","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"Una cadena es una sucesi\u00f3n de caracteres, con lo cual podr\u00edamos acceder a un caracter de manera independiente. Ejm Tama\u00f1o [&hellip;]","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=5192"}],"version-history":[{"count":4,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5192\/revisions"}],"predecessor-version":[{"id":5196,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5192\/revisions\/5196"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/4518"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=5192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}