我是PHP新手,来自Java背景。所以这就是:
我有这段代码:
$selected = array();
foreach($this->getSelectedOptions() AS $array) {
array_push($selected, $array['value']);
}
var_dump($selected);
getSelectedOptions()检索包含字符串的数组数组。
结果是
array
0 => string 'abc, def' (length=31)
我期待这样的事情:
Array
(
[0] => abc
[1] => def
)
为什么会这样?如何使我的数组看起来像后者(不用逗号等进行任何后期处理。)
谢谢!
答案 0 :(得分:1)
这是因为getSelectedOptions()为您提供逗号分隔的字符串而不是数组。我们没有这个功能所以我们不能做任何事情。现在唯一可能的是后期处理。 这是一些PHP进行后期处理。
$selected = array();
foreach($this->getSelectedOptions() AS $array) {
$values = explode(', ', $array['value']);
array_push($selected, $values);
}
var_dump($selected);
答案 1 :(得分:0)
您需要拆分逗号分隔值并再次循环,如下所示:
$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);
}
}