php dizi işleme soru

4 Cevap

Ben bunu yapmak için kendi işlevini yazmadan önce, herhangi bir yerleşik işlevi veya dönüştürmek için basit bir-liner var:

Array
(
    [0] => pg_response_type=D
    [1] => pg_response_code=U51
    [2] => pg_response_description=MERCHANT STATUS
    [3] => pg_trace_number=477DD76B-B608-4318-882A-67C051A636A6
)

Içine:

Array
(
    [pg_response_type] => D
    [pg_response_code] =>U51
    [pg_response_description] =>MERCHANT STATUS
    [pg_trace_number] =>477DD76B-B608-4318-882A-67C051A636A6
)

Sadece tekerleği yeniden icat önlemek için çalışıyoruz. Ben bunun üzerinden her zaman döngü can ve patlayabilir kullanın.

4 Cevap

Edit - hoppala, sağda tüm soruyu okumadım ..

A foreach dizi aracılığıyla bu yapmak için hızlı yolu, eg

foreach($arr as $key=>$val)
{
    $new_vals = explode("=", $val);
    $new_arr[$new_vals[0]] = $new_vals[1];
}

Ben bunun üzerinden her zaman döngü can ve patlayabilir kullanın.

Yapman gereken de budur.

Bu kod yaklaşık beş satır olmalıdır. Ben PHP yaptık ama burada bazı yalancı olduğunu bir süre beri

foreach element in the array
explode result on the equals sign, set limit = 2
assign that key/value pair into a new array.

Tabii ki, bu birden fazla eşittir işareti var tuşları tatili, bu nedenle var anahtarları onlara işaretler eşittir izin isteyip istemediğinizi size kalmış.

Bunu şöyle yapabiliriz:

$foo = array(
    'pg_response_type=D',
    'pg_response_code=U51',
    'pg_response_description=MERCHANT STATUS',
    'pg_trace_number=477DD76B-B608-4318-882A-67C051A636A6',
);

parse_str(implode('&', $foo), $foo);

var_dump($foo);

Sadece ismi niyet taşıyan bir işlevi bu kodu saklanması emin olun.