我试图在单个数组中提取动态元素,但结果显示不正确 例如:
$array =array();
$element="'abc1','abc2'";
$array=array('abc',$element);
//我想要那样的结果:
array[
[0]=>abc,
[1]=>abc1,
[2]=>ab
]
答案 0 :(得分:1)
如果您需要将元素字符串解析为数组,则可以使用csv函数之一。然后,您可以合并阵列。
$array = array('abc');
$string_elements = "'abc1','abc2'";
$array_elements = str_getcsv($string_elements, ',', "'");
$array = array_merge($array, $array_elements);
var_export($array);
输出:
array (
0 => 'abc',
1 => 'abc1',
2 => 'abc2',
)
或者将每个数组元素添加到另一个数组的末尾,您可以像这样使用splat将它们推入:
array_push($array, ...$array_elements);
答案 1 :(得分:0)
据我了解,$ element存储的是字符串而不是数组,因此即使您尝试获取输出,它也会以以下格式显示
Array
(
[0] => abc
[1] => 'abc1','abc2'
)
您可以将数组存储在$ element变量中,并使用array_merge()函数获取所需的输出,例如
$element = array('abc1','abc2');
$array = array('abc');
$result = array_merge($array,$element);
//输出
Array
(
[0] => abc
[1] => abc1
[2] => abc2
)