php dizi dönüşüm

4 Cevap php

nasıl bu diziyi açacak:

Array
(
    [0] => 234234234
    [1] => 657567567
    [2] => 234234234
    [3] => 5674332
)

Bu içine:

Array
(
    [contacts] => Array(
            [0] => Array
            	(
                            [number] => 234234234
                            [contact_status] => 2
                            [user_id] =>3 

                        )
            [1] => Array
    	        (
                            [number] => 657567567
                            [contact_status] => 2
                            [user_id] =>3
                        )
            [3] => Array
    	        (
                            [number] => 234234234
                            [contact_status] => 2
                            [user_id] =>3
                        )
            [4] => Array
    	        (
                            [number] => 5674332
                            [contact_status] => 2
                            [user_id] =>3
                        )
                )
)

nasıl bu dizi dönüştürmek için cakephp özel bir yolu var mı?

teşekkür ederim

4 Cevap

güzel

$contact_status = 2;
$user_id = 1;
foreach($input as $number)
    $output['contacts'][] = compact('number', 'contact_status', 'user_id');

Bu deneyin:

$output = array('contacts'=>array());
foreach ($input as $val) {
    $output['contacts'][] = array(
        'number'         => $val,
        'contact_status' => 2,
        'user_id'        => 3
    );
}

O contact_status ve başka bir şey söylemedi beri user_id statik varsayıyorum.

Sterofrog çözümü için temizleme Biraz. Diziyi bildirmek ve yerine boş bir dizin için atama array_push kullanın.

$output = array( );
$contact_stats = 2;
$user_id = 3;
foreach( $input as $number ) {
    array_push( $output[ 'contact' ], compact(
        'number',
        'contact_status',
        'user_id'
    ));
}

Sadece bu gibi array_map işlevini kullanabilirsiniz:

$result = array_map(function ($n){
    return array(
        'number' => $n,
        'contact_status' => 2,
        'user_id' => 3);
}, $original);