0
我经常必须从大数组中挑选某些值。虽然我理解我这样做的方式可能不是绝对正确的方式,但在这个系统中,我应该这样做。PHP将数组递归地导出为'水平'代码
实施例(简化的)阵列:
$data = array (
'api' =>
array (
'update_id' => 94594942,
'message' =>
array (
'message_id' => 141,
'from' =>
array (
'id' => 1251597,
'first_name' => 'Testuser',
),
'chat' =>
array (
'id' => '124630',
'title' => 'TESTGROUP',
'type' => 'group',
),
'date' => '1460712410',
'text' => 'tryout',
'valid' => true,
),
'list' =>
array (
0 => 'one',
1 => 'two',
2 => 'three',
),
),
);
我所需的导出/转储视为纯字符串:
$result = "
data['api']['update_id'] = 94594942;
data['api']['message']['message_id'] = 141;
data['api']['message']['from']['id'] = 1251597;
data['api']['message']['from']['first_name'] = 'Testuser';
data['api']['message']['chat']['id'] = '124630';
data['api']['message']['chat']['title'] = 'TESTGROUP';
data['api']['message']['chat']['type'] = 'group';
data['api']['message']['date'] = '1460712410';
data['api']['message']['text'] = 'tryout';
data['api']['message']['valid'] = true;
data['api']['list'][] = 'one';
data['api']['list'][] = 'two';
data['api']['list'][] = 'three';
";
我称它是 '水平' 数组表示 - 我不很清楚它的官方名称是什么。
我试着用json_encode()和var_export()转换数组,并手动解析它,但它似乎不是正确的方式来做到这一点,并给我头痛。有小费吗?
基本上你是想你多转换梦诗离子数据记录到单个记录?您应该创建变换器类,将您的结构化数据映射到单维度键 - >值数组。 –
我已更新第二代码部分。我的结果应该是一个纯文本字符串。我想你可以把它称为'var_export($ data,true);'用不同的模板。 – EDP
你到底在做什么?为什么首先需要出口?你稍后再导入它吗? –