簡體   English   中英

將PHP數組拆分為字符串

[英]Split a PHP array into a string

我有一個類似於下面的數組,該數組實際上從用戶提交的表單中收集登錄名和其他數據,並將其寫入數據庫。 我不需要所有表單數據,因此不需要這種方法。

$array['a']  = $_POST['userName'];
$array['a'] .= $_POST['passWord'];

結果是:

$array['a']  = 'username@example.com';
$array['a'] .= 'password';

我試圖從數組作為字符串獲取值,通過sperated ,:: ,但只是想不出如何做到這一點。

使用爆破為我提供了一個連續的字符串,例如username@example.compassword

$comma_separated = implode($array); echo $comma_separated;

是否可以從數組中獲取類似::username@example.com ::passpword的字符串,而無需for循環。

由於該方法已經在工作現場,因此無法更改。

我正在Windows 10計算機上使用PHP 7.0進行測試。

您的代碼中有兩個問題:

  1. 錯誤實現implode() ;
  2. 相同的array索引

如何取得這個結果?

::username@example.com ::password

您可以使用以下方法實現此結果:

// example with your code
$array['a']  = 'username@example.com';
$array['b'] = 'password';

echo "::".implode("::",$array);

結果:

::username@example.com::password

一些優化:

如前所述,您正在使用帶有POST方法的表單,而您可以這樣使用:

echo "::".implode("::",$_POST); //::username@example.com::password

很少的建議:

在文件頂部添加error_reporting以獲取錯誤。

錯誤報告

了解implode()函數的工作方式

PHP Implode()

您可以使用爆破。 它結合具有給定parameter的數組項並返回一個字符串。 這是implode的文檔。

返回一個字符串,其中包含以相同順序表示所有數組元素的字符串表示形式,並且每個元素之間都有粘合字符串。

$array  = ['username@example.com', 'password'];
$string = implode(',', $array);
echo $string;

嘗試這個:

echo ":: ".implode("::",$a);

這樣嘗試

$array[]  = 'username@example.com';
$array[] = 'password'
echo '::'.implode('::', $array);

產量

::username@example.com::password

請嘗試使用像這樣的內爆。

$array[]  = $_POST['userName'];
$array[]  = $_POST['passWord'];

echo implode(',',$array);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM