Dizideki bir değerini değiştirerek sorunu var

3 Cevap php

(1 ad, soyadı, e-posta, şifre) - Ben 4 her değer girişleri ile çok boyutlu bir dizi var. Ben bir veritabanına eklemek böylece şifre değerini biçimlendirmek için çalışıyorum. Gördüğünüz gibi, benim sonuç ne ihtiyacım değildir. Neden bu sonuç ve benim amaçlanan sonuç almak için ne yapmalıyım? Teşekkürler

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

3 Cevap

Eğer bir yazım hatası var:

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

Ama bu tek sorun. Bir çok-boyutlu bir dizi erişen ve bu nedenle, parantez {} içine dizi erişimi koymak zorunda. Aksi takdirde, PHP sadece ilk dizine kadar değişken subsitute olacaktır (yani $newlines[1]). variable parsing Ayrıca bkz.

$newlines[1][3] büyük olasılıkla bir dize gibi, sen de tırnak koymak gerekir:

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

hatta daha iyi bence:

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

Olmalı

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

Bu tırnak işareti yerleştirme sorun olarak karşımıza çıkmaktadır. Bunun yerine dize "Şifre (argümanlar-)" den fonksiyonu Şifre () sonucunu istiyorum.

Sağ tarafında etrafında alıntılar bırakın:

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