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 № 1Debe 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);