/ / array_push dando una matriz separada por comas - php - php, array-push

array_push dando un array separado por comas - php - php, array-push

Soy bastante nuevo en PHP y provengo de un fondo Java. Así que aquí va:

Tengo este código:

$selected = array();
foreach($this->getSelectedOptions() AS $array) {
array_push($selected, $array["value"]);
}
var_dump($selected);

getSelectedOptions () recupera una matriz de matrices que contienen cadenas.

El resultado es

array
0 => string "abc, def" (length=31)

Sin embargo, esperaba algo como esto:

Array
(
[0] => abc
[1] => def
)

¿Por qué está pasando esto? ¿Cómo puedo hacer que mi matriz se vea como esta última (sin hacer ningún procesamiento posterior con comas, etc.)

¡Gracias!

Respuestas

0 para la respuesta № 1

Debe dividir los valores separados por comas y repetir nuevamente como se muestra a continuación:

$selected = array();
foreach($this->getSelectedOptions() AS $array) {
//$array now contains comma seperated values
//split and loop
$values = explode(",",$array["value"]);
foreach($values as $value) {
array_push($selected, $value);
}
}

1 para la respuesta № 2

Esto se debe a que getSelectedOptions () daEs una cadena separada por comas en lugar de una matriz. No tenemos la función, así que no podemos hacer nada con eso. Lo único que es posible ahora es el postprocesamiento. Aquí hay algunos PHP haciendo el procesamiento posterior.

$selected = array();
foreach($this->getSelectedOptions() AS $array) {
$values = explode(", ", $array["value"]);
array_push($selected, $values);
}
var_dump($selected);