将PHP数组拆分为字符串

时间:2016-01-15 05:39:19

标签: php arrays

我有一个类似下面的数组,它实际上从用户提交的表单中收集登录和其他数据,以便写入数据库。我不需要所有表单数据,因此也不需要这种方法。

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

结果是:

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

我试图将数组中的值作为字符串获取,由,::分配,但却无法确定如何操作。

使用implode会给我一个像username@example.compassword

这样的连续字符串

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

是否有可能在没有for循环的情况下从数组中获取类似::username@example.com ::passpword的字符串。

由于该方法已在工作现场,因此无法更改。

我在Windows 10计算机上使用PHP 7.0进行测试。

5 个答案:

答案 0 :(得分:3)

您的代码中存在两个问题:

  1. implode();
  2. 的错误实施
  3. 相同array索引
  4. 如何实现这一结果?

    ::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以获取错误。

    Error Reporting

    了解implode()功能如何运作

    PHP Implode()

答案 1 :(得分:1)

你可以使用implode。它将数组项与给定的parameter组合在一起并返回一个字符串。以下是implode的文档。

  

返回包含所有数组的字符串表示形式的字符串   元素的顺序相同,每个元素之间都有胶水。

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

答案 2 :(得分:0)

试试这个:

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

答案 3 :(得分:0)

以这种方式试试

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

输出

::username@example.com::password

答案 4 :(得分:0)

请尝试使用这样的内爆。

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

echo implode(',',$array);