2012-05-31 10 views
6

Tengo una variable definida así: $ var = "1, 2, 3"; & Tengo una matriz: $ thePostIdArray = array (1, 2, 3);Generar matriz desde una lista separada por comas - PHP

La matriz anterior funciona muy bien cuando se bucle a través de ella, pero cuando trato de utilizar el $ var en lugar de la lista separada por comas, se producen problemas.

Entonces (mundo perfecto) podría ser $ thePostIdArray = array ($ var); que sería lo mismo que $ thePostIdArray = array (1, 2, 3);.

todo lo posible hasta el momento no ha funcionado:?. '(

Es esto posible, o hay una solución fácil

Gracias por cualquier punteros

+3

Si php tenía lógica que usted espera, estaría vuelto loco :) –

Respuesta

40

Comprobar explode: $thePostIdArray = explode(', ', $var);

+0

Es por eso que amo stackoverflow :) – Faizan

2

use la función de explosión. Esto resolverá su problema. structu re de explotar es así

array explode (string $delimiter , string $string [, int $limit ]) 

ahora $delimiter es la cadena límite, string $string es la cadena de entrada. para el límite:

Si el límite está establecido y es positivo, la matriz devuelta contendrá un máximo de elementos de límite con el último elemento que contiene el resto de la cadena.

Si el parámetro de límite es negativo, se devuelven todos los componentes excepto el último -límite.

Si el parámetro de límite es cero, entonces este es tratado como 1.

visite el siguiente enlace. se puede aprender mejor a partir de ese link of php.net

2

Para el desarrollador que quiera dar lugar a and al final puede utilizar el siguiente código:

$titleString = array('apple', 'banana', 'pear', 'grape'); 
$totalTitles = count($titleString); 
if($totalTitles>1) 
{ 
    $titleString = implode(', ' , array_slice($titleString,0,$totalTitles-1)) . ' and ' . end($titleString); 
} 
else 
{ 
    $titleString = implode(', ' , $titleString); 
} 

echo $titleString; // apple, banana, pear and grape 
Cuestiones relacionadas