2010-05-24 8 views
0

각 값에 4 개의 항목이있는 다차원 배열 (성, 이름, 이메일, 비밀번호)이 있습니다. 암호 값을 형식화하여 데이터베이스에 삽입 할 수 있습니다. 보시다시피, 제 결과는 제가 필요로하는 것이 아닙니다. 왜 이것이 결과이며 의도 한 결과를 얻기 위해 어떻게해야합니까? 감사합니다배열의 값을 변경하는 데 문제가 있습니다.

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

그것은 모양) 및]됩니다 옮겨졌지만, 아직 네가 여기서 무엇을 할 건지 잘 모르겠다. "PASSWORD"함수입니까? –

+0

비밀 번호는 내가 믿는 MySQL 함수입니다. – Joseph

답변

4

당신은 오타가 있습니다. 다차원 배열에 액세스하고 있으므로 배열 액세스를 대괄호 {}에 넣어야합니다. 그렇지 않으면 PHP는 변수를 첫 번째 인덱스 (예 : $newlines[1])까지만 나눕니다. variable parsing을 참조하십시오.

그리고 $newlines[1][3]이 문자열 가능성이 높습니다, 당신은 또한 주위에 인용 부호를 넣어해야합니다

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

또는 더 나은 내 의견 :

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

연결을 사용한 세 번째 제안이 트릭을 만들었습니다. 배열에있는 문자열을 원할 때 다른 모든 배열은 Array [3]을 반환했습니다. 고맙습니다. – aliov

+0

@aliov : 변수에'{}'을 써 넣지 않으면, PHP는 배열 인 첫 번째 인덱스 (즉, $ newlines [1])까지만 변수를 구문 분석하므로' 어레이 '. 당신 말이 맞습니다. 오타가 없더라도 잘못된 결과를 얻었을 것입니다. 괄호에 넣으면 작동하지만 개인적으로는 어쨌든 어쨌든 문자열을 더 쉽게 읽을 수 있습니다 (PHP는 무엇이며 어떤 것이 아닌지 쉽게 알 수 있습니다). –

+0

미니 레슨과 건전한 조언을 해주셔서 감사합니다. 매우 감사. – aliov

2
"PASSWORD($newlines[1][3)]" 

이는 인용 부호 배치 문제가 나타납니다

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

이어야한다. "Password (-arguments-)"문자열 대신 Password() 함수의 결과를 원합니다.

는 오른쪽 주위에 인용 드롭 :

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

그러나이없는 유일한 문제 :

php > $newlines[1][3] = password($newlines[1][3]); 
+1

'PASSWORD()'는 아마도 MySQL 함수 일 것입니다. –

+0

아, 그 경우 괄호와 괄호의 전치가 의심 스러울 때 다른 답변으로 충분합니다. – JYelton

관련 문제