我有一個數組稱爲$context
具有這種結構:在自定義字符串佈局中轉換數組索引?
array(2) {
[0]=>
array(2) {
["name"]=>
string(6) "Foo"
["username"]=>
string(6) "Test"
}
[1]=>
array(2) {
["name"]=>
string(4) "John"
["username"]=>
string(3) "Doe"
}
}
我想將其轉換成字符串:
串1:
0: array(
'name' => 'Foo',
'username' => 'Test',
)
串2:
1: array(
'name' => 'John',
'username' => 'Doe',
)
你如何看到我想保存當前的索引在我在單行中將陣列內容格式化爲'name'
和'username'
。我已經試過這個代碼:
$export = '';
foreach($context as $key => $value)
{
$export .= "{$key}: ";
print_r($value);
$export .= preg_replace(array(
'/=>\s+([a-zA-Z])/im',
'/array\(\s+\)/im',
'/^ |\G /m'
), array(
'=> $1',
'array()',
' '
), str_replace('array (', 'array(', var_export($value, true)));
print_r($export);
$export .= PHP_EOL;
}
return str_replace(array('\\\\', '\\\''), array('\\', '\''), rtrim($export));
但我正在尋找一個更優化的解決方案,任何建議?
你的子陣列都嚴格年例如如何?他們都有2個元素,每個都有'name'和'username'作爲鍵? – fusion3k
@ fusion3k,在這個例子中只有兩個元素,但將來我可以添加更多的鍵。 –