У меня есть многомерный массив, который я хотел бы взорвать (а затем позже сможет взорваться обратно в исходный многомерный массив). Есть ли способ взорвать, удерживая ключи?Implode multidimentional array с разными разделителями в php
Вот пример того, что мой массив выглядит следующим образом:
Array (
[draw] => 1
[columns] => Array (
[0] => Array (
[data] => 0
[name] => Edit
[searchable] => true
[orderable] => true
[search] => Array (
[value] =>
[regex] => false))
[1] => Array (
[data] => 1
[name] =>
[searchable] => true
[orderable] => true
[search] => Array (
[value] =>
[regex] => false))
[2] => Array (
[data] => 2
[name] =>
[searchable] => true
[orderable] => true
[search] => Array (
[value] =>
[regex] => false))
Вот что я пытался без успеха:
$out = implode('::',array_map(function($a)
{
return implode('&&',array_map(function($b)
{
return implode('~~',$b);
},$array));
}));
Я также попытался это:
foreach($array as $Value)
{
if(is_array($Value))
{
foreach($Value as $Columns)
{
if(is_array($Columns))
{
foreach($Columns as $Search)
{
if(is_array($Search))
{
$Search = implode("::",$Search);
}
//echo "<br>Search: "; print_r($Search);
}
}
else
{
echo "<br>Columns: "; print_r($Columns);
//$Columns = implode("&&",$Columns);
}
}
}
else
{
//$Value = implode("~~",$Value);
}
}
//print_r($array);
Что бы я хотел, чтобы он выглядел в конце разлома:
[draw] => 1 :: [columns] => && [0] => ~~ [data] => 0 ~~ [name] => Edit ~~ [searchable] => true ~~ [orderable] => true ~~ [search] => %% [value] => %% [regex] => false && [1] => ~~ [data] => 1 ~~ [name] => ~~ [searchable] => true ~~ [orderable] => true ~~ [search] => %% [value] => %% [regex] => false
По крайней мере, я уверен, что у меня есть все разделители в нужном месте. Если я не могу держать ключи в порядке, пока разделители находятся в правильном месте, и я могу позже создать многомерный массив.
Это потрясающе, жаль, что я не обнаружил, что намного раньше! – Mike