Php 更改数组中的值时遇到问题

Php 更改数组中的值时遇到问题,php,arrays,Php,Arrays,我有一个多维数组,每个值有4个条目-(名字、姓氏、电子邮件、密码)。我正在尝试格式化密码值,以便将其插入数据库。正如你所看到的,我的结果不是我所需要的。为什么会有这样的结果?我应该怎么做才能达到预期的结果?谢谢 php > $newlines[1][3] = "PASSWORD($newlines[1][3)]"; php > echo $newlines[1][3]; PASSWORD(Array[3)] 应该是 "PASSWORD({$newlines[1][3]})"

我有一个多维数组,每个值有4个条目-(名字、姓氏、电子邮件、密码)。我正在尝试格式化密码值,以便将其插入数据库。正如你所看到的,我的结果不是我所需要的。为什么会有这样的结果?我应该怎么做才能达到预期的结果?谢谢

php > $newlines[1][3] = "PASSWORD($newlines[1][3)]";  
php > echo $newlines[1][3];  
PASSWORD(Array[3)]
应该是

"PASSWORD({$newlines[1][3]})"

这似乎是引号放置问题。您需要的是函数Password()的结果,而不是字符串“Password(-arguments-)”

将报价放在右侧:

php > $newlines[1][3] = password($newlines[1][3]);
您有一个输入错误:

php > $newlines[1][3] = "PASSWORD($newlines[1][3)]";
                                                ^
但这不是唯一的问题。您正在访问多维数组,因此必须将数组访问权放在括号中
{}
。否则,PHP只会将变量替换为第一个索引(即
$newlines[1]
)。另见

由于
$newlines[1][3]
很可能是一个字符串,因此还应在其周围加引号:

php > $newlines[1][3] = "PASSWORD('{$newlines[1][3]}')";
或者在我看来更好:

php > $newlines[1][3] = "PASSWORD('" . $newlines[1][3] . "')";

看起来)和]是转置的,但我仍然不确定你要在这里做什么。“PASSWORD”是函数吗?我相信PASSWORD是MySQL函数。
PASSWORD()
可能是MySQL函数。啊,那么在这种情况下,其他答案应该足够了,因为括号和括号的换位看起来很可疑。你的第三个建议使用了连接。当我需要数组中的字符串时,所有其他数组都返回了数组[3]。谢谢。@aliov:问题是,如果不在变量周围放置
{}
,PHP只会将变量解析到第一个索引(即$newlines[1]),该索引是一个数组,因此会打印
array
。你是对的,即使你没有打字错误,你也会得到错误的结果。把它放在括号里应该行得通,但我个人觉得连接更容易理解(什么是PHP,什么不是PHP),谢谢你的小课和建议。非常感谢。
php > $newlines[1][3] = "PASSWORD('" . $newlines[1][3] . "')";