es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo dividir una cadena y recorrerla en PHP

Me gustaría saber cómo dividir la cadena por | y – y mostrar los valores en php

Tengo una cadena que necesito dividir por | y luego – y mostrar el valor en php

<?php
$string = 'city-3|country-4';
$str1 = explode('|', $string, 2);
foreach ($str1 as $item) {
 $meal = explode('-', $string, 2);
      if ($meal[0]=="city")
        {
            echo "city duration    " . $meal[1];
        }
        else if ($meal[0]=="country")
        {
            echo "country duration   " . $meal[1];
        }
}
?>

Salida esperada

city duration 3
country duration 4

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para dividir la cadena dada por los caracteres | y - en PHP y mostrar los valores correspondientes, puedes usar la función explode dos veces.

    Primero, debes dividir la cadena por |, lo cual te dará dos subcadenas: city-3 y country-4. Para hacer esto, debes utilizar la función explode con el delimitador | de la siguiente manera:

    $string = 'city-3|country-4';
    $str1 = explode('|', $string, 2);
    

    Ten en cuenta que el tercer parámetro 2 pasado a la función explode limita el número de subcadenas devueltas a dos.

    Luego, necesitas recorrer el array resultante $str1 y dividir cada subcadena por -. Puedes lograr esto utilizando un bucle foreach y otra llamada a explode. Dentro del bucle, puedes verificar el primer elemento del array resultante (es decir, $meal[0]) para determinar si corresponde a city o country. Luego, puedes mostrar el valor de duración correspondiente (es decir, $meal[1]) utilizando la instrucción echo.

    Entonces, el código PHP completo para obtener la salida deseada sería:

    $string = 'city-3|country-4';
    $str1 = explode('|', $string, 2);
    
    foreach ($str1 as $item) {
        $meal = explode('-', $item, 2);
        if ($meal[0] == "city") {
            echo "duración de la ciudad    " . $meal[1] . "\n";
        } else if ($meal[0] == "country") {
            echo "duración del país " . $meal[1] . "\n";
        }
    }
    

    Este código debería mostrar:

    duración de la ciudad    3
    duración del país 4
    

Comments are closed.