在单个数组中拉动态元素

时间:2017-09-04 12:47:02

标签: php arrays

我试图在单个数组中提取动态元素,但结果显示不正确 例如:

$array  =array();
$element="'abc1','abc2'";
$array=array('abc',$element);

//我想要那样的结果:

array[
     [0]=>abc,
     [1]=>abc1,
     [2]=>ab
    ]

2 个答案:

答案 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
)