我对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
)
为什么会这样?如何使我的数组看起来像后者(无需使用逗号等进行任何后处理)
谢谢!
这是因为getSelectedOptions()给你一个逗号分隔的字符串,而不是一个数组。我们没有该功能,所以我们无能为力。现在唯一可能的就是后处理。这是一些进行后处理的PHP。
$selected = array();
foreach($this->getSelectedOptions() AS $array) {
$values = explode(', ', $array['value']);
array_push($selected, $values);
}
var_dump($selected);
您需要拆分逗号分隔的值并再次循环,如下所示:
$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);
}
}