2015-07-05 109 views
1

我正面臨以下問題。 有一個包含幾個字符串的數組。我們希望將彼此附加在一起。內爆功能似乎是解決方案。如何在PHP中創建一個字符串數組的字符串?

這裏是陣列中的詳細數據:

0 -----BEGIN ENCRYPTED PRIVATE KEY-----\n 
1 MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIR9as3yoyQisCAggA\n 
2 MBQGCCqGSIb3DQMHBAjr2e4eD62llQSCAoDOrZP66BNtAZNBhoyRRzPOYOXhBuG4\n 
3 ah/505qbWe+SlgSnp1GYS+mgrbMc6OCv6O+gUBMzX/oVHhZeE08CQI/a5V4nDyns\n 
4 I+v8c9nYdEPYVSpPQHSwYeA8zQErqBPkzUpG2PCrCSMixC0hfUK+2z8Q1C6rTMnQ\n 
5 JYQk7JPo+nNug+xEEETWt02g9vypo2F8NKcQQ3oSKdxmuGYzbIRFMMF9CYb5ruB2\n 
6 QcWGbi1Bb+28EozEv8sABOGfOF7SVC1o4IY/n0e/QPL67uPUmdJEi5PfDkoQpmYq\n 
7 G9wBEHpMr/XtQcYhHILFWI5a8bPGb/IOuNXUrYURVG6eIU/UJpyJAgoD7lHzKvB5\n 
8 n8Sya94Mbdt21oPRJOv8zcgnd4L9wcY9FK3kkWoxM1oFw4Y+lxrcIBKzy2dZF5uc\n 
9 8kiCM/25jbUCvKfvuEa8SiAZj7v9BudNwAspqFae/XMMoj5RGzXElEN/A28Je+vZ\n 
10 mfMiA2nDtsBXfxDtdxnRchAG2c35wau/HxLO427CcI1CoRyDtUnNPEUmsgIY6cMW\n 
11 tcG4mycApdfnSIwgvWpsj/hyEOICDR/q7+APu32Dc4jf6/r6gV0ItgdiNU4wXaNy\n 
12 HPjreeL6g/ndfd6LwIyIBdJp4jhvcUWgEGDXUBfkhQJVx+8xZJAYw+sfYXQiFuZd\n 
13 fyYv0pOR8F7FIdNC32zIFQpYdZ/SPROTY0FSNGlCUc1L0HX44E9T8bG9F+Lm9jpD\n 
14 1ME4SG+XkF9QBAuDGTIVk/qQCK1fIlyrO4t/6hCu9z1+7ZeXxqi2D/D8LOItzTgs\n 
15 W2F8oaOxOv5q5d9X/Bneb+8FpNWdACvmW9NtVLaBjI0VO3Ew+xHj8tyd\n 
16 -----END ENCRYPTED PRIVATE KEY-----\n 

結果我想應該是這樣的:

-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIR9as3yoyQisCAggA\nMBQGCCqGSIb3DQMHBAjr2e4eD62llQSCAoDOrZP66BNtAZNBhoyRRzPOYOXhBuG4\nah/505qbWe+SlgSnp1GYS+mgrbMc6OCv6O+gUBMzX/oVHhZeE08CQI/a5V4nDyns\nI+v8c9nYdEPYVSpPQHSwYeA8zQErqBPkzUpG2PCrCSMixC0hfUK+2z8Q1C6rTMnQ\nJYQk7JPo+nNug+xEEETWt02g9vypo2F8NKcQQ3oSKdxmuGYzbIRFMMF9CYb5ruB2\nQcWGbi1Bb+28EozEv8sABOGfOF7SVC1o4IY/n0e/QPL67uPUmdJEi5PfDkoQpmYq\nG9wBEHpMr/XtQcYhHILFWI5a8bPGb/IOuNXUrYURVG6eIU/UJpyJAgoD7lHzKvB5\nn8Sya94Mbdt21oPRJOv8zcgnd4L9wcY9FK3kkWoxM1oFw4Y+lxrcIBKzy2dZF5uc\n8kiCM/25jbUCvKfvuEa8SiAZj7v9BudNwAspqFae/XMMoj5RGzXElEN/A28Je+vZ\nmfMiA2nDtsBXfxDtdxnRchAG2c35wau/HxLO427CcI1CoRyDtUnNPEUmsgIY6cMW\ntcG4mycApdfnSIwgvWpsj/hyEOICDR/q7+APu32Dc4jf6/r6gV0ItgdiNU4wXaNy\nHPjreeL6g/ndfd6LwIyIBdJp4jhvcUWgEGDXUBfkhQJVx+8xZJAYw+sfYXQiFuZd\nfyYv0pOR8F7FIdNC32zIFQpYdZ/SPROTY0FSNGlCUc1L0HX44E9T8bG9F+Lm9jpD\n1ME4SG+XkF9QBAuDGTIVk/qQCK1fIlyrO4t/6hCu9z1+7ZeXxqi2D/D8LOItzTgs\nW2F8oaOxOv5q5d9X/Bneb+8FpNWdACvmW9NtVLaBjI0VO3Ew+xHj8tyd\n-----END ENCRYPTED PRIVATE KEY----- 

我的代碼看起來是這樣的。是不是如上述

$arr = array(); 
... 
$arr = $dataweloaded; 
$string = implode($arr); 

現在真正有趣的事情..

我的實際產出。它只包含1024個字節。

-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIR9as3yoyQisCAggA\nMBQGCCqGSIb3DQMHBAjr2e4eD62llQSCAoDOrZP66BNtAZNBhoyRRzPOYOXhBuG4\nah/505qbWe+SlgSnp1GYS+mgrbMc6OCv6O+gUBMzX/oVHhZeE08CQI/a5V4nDyns\nI+v8c9nYdEPYVSpPQHSwYeA8zQErqBPkzUpG2PCrCSMixC0hfUK+2z8Q1C6rTMnQ\nJYQk7JPo+nNug+xEEETWt02g9vypo2F8NKcQQ3oSKdxmuGYzbIRFMMF9CYb5ruB2\nQcWGbi1Bb+28EozEv8sABOGfOF7SVC1o4IY/n0e/QPL67uPUmdJEi5PfDkoQpmYq\nG9wBEHpMr/XtQcYhHILFWI5a8bPGb/IOuNXUrYURVG6eIU/UJpyJAgoD7lHzKvB5\nn8Sya94Mbdt21oPRJOv8zcgnd4L9wcY9FK3kkWoxM1oFw4Y+lxrcIBKzy2dZF5uc\n8kiCM/25jbUCvKfvuEa8SiAZj7v9BudNwAspqFae/XMMoj5RGzXElEN/A28Je+vZ\nmfMiA2nDtsBXfxDtdxnRchAG2c35wau/HxLO427CcI1CoRyDtUnNPEUmsgIY6cMW\ntcG4mycApdfnSIwgvWpsj/hyEOICDR/q7+APu32Dc4jf6/r6gV0ItgdiNU4wXaNy\nHPjreeL6g/ndfd6LwIyIBdJp4jhvcUWgEGDXUBfkhQJVx+8xZJAYw+sfYXQiFuZd\nfyYv0pOR8F7FIdNC32zIFQpYdZ/SPROTY0FSNGlCUc1L0HX44E9T8bG9F+Lm9jpD\n1ME4SG+XkF9QBAuDGTIVk/qQCK1fIlyrO4t/6hCu9z1+7ZeXxqi2D/D8LOItzTgs\nW2F8oaOxOv5q5d9X/Bneb+8FpNWdACvmW9NtVLaBjI0VO3Ew+xHj8tyd\n-----END ENCRYPTED  

如果你比較那些字符串,你應該認識到幾個字節丟失了! 當前輸出應附加PRIVATE KEY-----\n因此這是該數組的最後一個元素的一部分,這將導致-----END ENCRYPTED PRIVATE KEY-----

我其實剛剛實現了-----END ENCRYPTED

我想過堆內存限制。 php.ini sais 256Mb保留。 我也讀過變量可以達到2Gb大。 所以這不應該成爲這裏的問題。

implode()也應該沒問題,因爲其他功能如file_get_contents()也會返回相同的錯誤結果。

喜歡閱讀的代碼通過像線以下:

function readline($file){ 
    $string = null; 
    $handle = fopen($file, "r"); 
    if ($handle) { 
     while (($line = fgets($handle)) !== false) { 
      $string .= $line; 
     } 
     fclose($handle); 
    } 
return $string; 
} 

我一直在尋找的錯誤很長一段時間。跟蹤調試器內部的調用使得甚至可以在每種情況下識別1024字節的修復大小,而不用考慮使用什麼方法。

你有沒有經歷過這種不正常的行爲? 我希望這不是太容易,我只是想念一些重要的東西。

生成的字符串應該包含與數組元素完全相同的數據。

+0

如果標題可能不是主要的問題,請耐心等待。我現在無法想象一個更好的。 – Noli

+1

我無法重現您的結果:( - https:// eval。在/ 393023 – splash58

+0

哦,看起來真的好像結果一直很好。 Eclipse或XDebug的調試界面運行不正常。非常感謝你,你節省了很多時間=) – Noli

回答

2

我使用的調試器工具似乎有一個嚴重的問題。 這裏是一個顯示現象的圖像。我高度假設在調試模式下,變量內容查看器中只會顯示1024個字節。 代碼是好的,php是不是故障=)

以前沒有真正的問題。

enter image description here

相關問題