1

implodeが次のように機能することを理解しています。

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

私は次のような配列を持っています:

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

implodeとまったく同じことをしたいのですが、出力は次のようになります。

array,array

これは、これら2つの配列をコンマで区切って、パラメーターが配列である関数またはクラスに渡すことができるためです。

たとえば、次のようになります。

次のクラスがある場合:

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を使用しようとすると、配列の不正な文字列変換が発生することを知っています。だから私も似たような関数が必要です。

4

1 に答える 1

0

私はこのようなものがうまくいくと思います:

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

構文を確認するためにこれをまだ実行していませんが、多次元配列の各エントリと同じ値を持つ、$array0 などの名前の配列変数がいくつか生成されるはずです。

于 2013-02-19T18:39:48.617 に答える