2013-02-19 39 views
1

我明白破灭这样的作品:有没有像数组阵列的implode?

$array = array('value', 'value2'); 
echo implode(',', $array) // Gives you: value, value2 

我有一个数组,看起来像这样:

$array = array(
    array('admin_options' => 'test'), 
    array('test_options' => 'test'), 
) 

我想要做同样的事情破灭失认沽应该看像这样:

array,array 

这样做的原因是因为我可以通过这两个阵列,逗号分隔,成本功能离子或类的参数是数组。

所以在
的一个实例:

,如果我有下面的类:

class Test{ 
    public function __construct(array $options, array $second_options){} 
} 

那我应该看什么本质上是:

public function __construct(array, array){} 

注:

这个相同的功能应该工作,如果我有一个阵列Ÿ看起来像:

$array = array(
    array('admin_options' => 'test'), 
    array('test_options' => 'test'), 
    some_param, 
    some_other_param 
) 

我放出来,然后应该是:

array, array, some_param, some_other_param 

我希望这有助于澄清我的问题。

我知道如果我尝试使用implode,我会得到数组的非法字符串转换。那就是为什么我需要一个类似的功能呢。

+1

这是PHP吗? - 修复了 – 2013-02-19 17:51:58

+1

以反映它是php。 – TheWebs 2013-02-19 18:21:38

+0

循环并合并然后内爆。 – SparKot 2013-02-19 18:38:26

回答

0

我觉得像这样的工作:

$count = 0; 
foreach($multiDimArray AS $name=>$value) { 
    $varName = 'array'.$count++; 
    $$varName = array("name"=>$value); 
} 

我还没有运行这个尚未检查语法,但是这应该产生一个名为$阵列0等与每个相同的值数数组变量进入多维数组。

+0

这是错的,你在这里所做的只是合并两个数组,并给它一个名字的关键。不是我想要的。最终的结果应该是:'array,array' – TheWebs 2013-02-19 18:43:41

+0

我想我现在明白了,但你打算如何将结果字符串传递给该函数?我不认为它会这样工作。函数(“数组,数组”)只有一个参数,除非在函数中再次解析它,否则它将不可读。 – seagoj 2013-02-19 18:57:01