如何将字符串解析为PHP数组?

3

我有一个字符串数组,格式如下:

 Array
(
    [TRANSACTION_ID] => SFBT-U1005141804-18DZW
    [TRANSACTION_REFERENCE] => KRZTV
    [TRANSACTION_TYPE] => sale
    [TRANSACTION_STATUS_CODE] => SA
    [MERCHANT] => safebytes
    [AFFILIATE] =>
    [TRANSACTION_DATE] => 2014-05-10 18:04:51
    [CUSTOMER_AMOUNT] => 39.90
    [CUSTOMER_CURRENCY] => USD
    [CUSTOMER_NAME] => Robin Jennings
    [CUSTOMER_EMAIL] => nesiesurveys@aol.com
    [CUSTOMER_COUNTRY] => US
    [CUSTOMER_ADDRESS] =>
    [CUSTOMER_CITY] =>
    [CUSTOMER_REGION] => NJ
    [CUSTOMER_ZIP_POSTAL] => 07067
    [CUSTOMER_LANGUAGE] => EN
    [CUSTOMER_PHONE_NUMBER] =>
    [CUSTOMER_IP] => 96.225.124.15
    [CUSTOMER_IP_ADDRESS] => 96.225.124.15
    [PAYMENT_METHOD] => PAYPAL
    [SKU] => totalsystemcare/1pk1yr
    [ORDER_STATUS] => SUCCESS
    [NOTES] => NONE
    [PAYOUT_CURRENCY] => USD
    [PAYOUT_AMOUNT] => 36.13
    [TAXES_AMOUNT] => 0.00
    [VOID] => N
    [QUERY] => sku%5B0%5D%3Dtotalsystemcare%2F1pk1yr%26ec%3D2404%26os%3DWindows+7%26osb%3D64bit%26pr%3DIntel%28R%29+Core%28TM%29+i3+CPU+++++++M+380++%40+2.53GHz%26mb%3DDell+Inc.+0THYJV%26vc%3DIntel%28R%29+HD+Graphics%26ram%3D3.80+GB%26hd%3D465.76+GB%26isp%3D%26UID%3DE294A80C-28B1-444B-935A-2D58F8A034D2%26det_country%3DUnited+States%26cou
    [EVENT_ID] => 1
    [PROCESSOR] => SafeCart
    [BILL_AMOUNT] => 39.9
    [ITEMS] => [{"SKU":"totalsystemcare\/1pk1yr","PRICE":"39.90000","QUANTITY":1,"PAYOUT":"36.12695","TAX":0,"RECURRING":true}]
)

这个字符串是写在txt文件中的。我该如何将它解析成php数组?我已经从文件中获取了它,但无法将其解析成数组。

有人能帮我吗?


所以你只是想将从文件导入的字符串形式的php数组转换回php数组?如果你知道每个项目的格式等信息,那么你的工作不是已经摆在你面前了吗?老实说,我没有正式的php经验,但似乎在http://php.net/manual/en/language.types.array.php和http://us2.php.net/preg_match之间,你应该能够轻松解决你的问题。 - jdero
1
如果您在导出数据时具有控制权,则应以易于重新导入到PHP的格式进行导出。您可以首先使用serialize()或json_encode()对其进行序列化,然后使用unserialize()或json_decode()将其重新导入。 - GordonM
1个回答

5
您可以使用var_export函数将PHP变量保存到文件中。
例如:
$data = array('Foo', 'Bar');
file_put_contents('filename.txt', '<?php return ' . var_export($data, true) . ';');

// And get this content
$data = include 'filename.txt';

2
@ZhukV file_put_contents('vol/filename.txt', '<?php return ' . var_export($data, true).';'); 在结尾处使用;,否则会返回错误unexpected $end in filename.txt - Manibharathi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接