[PHP] - Jak ze stringu zrobić tablicę?


(h0lend3r) #1

Witam, jak z czegos takiego:

[
    "username=required:true|min:2|max:14",
    "email=required:true|email:true",
    "password=required:true|min:6|max:22",
    "passwordRepeat=required:true|match:password"
]

zrobić cos takiego:

[
    "username" => [
	"required" => true,
	"min" => 2,
	"max" => 14,
    ],
    "email" => [
	"required" => true,
	"email" => true,
    ],
    "password" => [
	"required" => true,
	"min" => 6,
	"max" => 22,
    ],
    "passwordRepeat" => [
	"required" => true,
	"match" => "password"
    ]
]

?


(dr.boczek) #2

Za pomocą expode()


(Pablo_Wawa) #3

Można za pomocą explode, jak zaproponowałdr.boczek, ale trzeba dla każdego stringu zrobić więcej operacji (najpierw wyłuskać klucz, a potem kolejne elementy (wartości). Trochę szybciej/prościej można to uzyskać funkcją preg_split, ale i tutaj trzeba potem operować na uzyskanych danych w celu otrzymania oczekiwanej postaci (tablicy).

Ale najprościej jest zmodyfikować każdy string tak, by móc potem dla niego zastosować funkcję json_decode, dzięki której od razu możesz otrzymać tablicę z konkretnymi wartościami.

 

* oczywiście określenie prościej różnie może znaczyć dla różnych osób