我有一个类似下面的数组,它实际上从用户提交的表单中收集登录和其他数据,以便写入数据库。我不需要所有表单数据,因此也不需要这种方法。
$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进行测试。
答案 0 :(得分:3)
您的代码中存在两个问题:
implode()
; 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()
功能如何运作
答案 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);