管理Php数组

I am new in php.I have learn almost all things in php.I am developing sample application in php. In my application I have two arrays and it looks like:

Array ( [0] => 1800 [5] => 1500 [6] => 4545 )

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g )

I want output like: Array (

[0] => Array
    (
        [a] => 1800
    )
[1] => Array
    (
        [b] => 0
    )

[2] => Array
    (
        [c] => 0
    )

[3] => Array
    (
        [d] => 0
    )

[4] => Array
    (
        [e] => 0
    )

[5] => Array
    (
        [f] => 1500
    )

[6] => Array
    (
        [g] => 4545
    )

) Please help.

$arr1 = array(0 => 1800, 5 => 1500, 6 => 4545,);
$arr2 = array('a', 'b', 'c', 'd', 'e', 'f', 'g',);
$arrNeeded = array();

foreach ($arr2 AS $k => $v) {
    $arrNeeded[$k] = array($v => isset($arr1[$k]) ? $arr1[$k] : 0); 
}

echo '<pre>' . print_r($arrNeeded, true) . '</pre>';

Please try with below code

$arr1 = array( 0 => 1800 ,5 => 1500 ,6=> 4545 );

$arr2 = array( 0 => 'a' ,1 => 'b',  2=> 'c',3 => 'd' ,4 => 'e' ,5 => 'f' ,6 => 'g' );
$newarr = "";

if(count($arr2) >0){

    foreach($arr2 as $key2 => $val2){
        $newVal = isset($arr1[$key2])?$arr1[$key2] : 0;
        $newarr[$key2] = array($val2 => $newVal);

    }
}
echo "<pre>";
print_r($newarr);

This might help you

<?php 
$array1 = Array( "0"=>1800,"5" => 1500, "6" => 4545 ) ; 

$array2 = Array( "0" => 'a', '1' => 'b', '2' => 'c', '3' => 'd', '4' => 'e', '5' => 'f', '6' => 'g' );

$resultArray = array();

foreach ($array2 as $key2 => $value2 ) {
    $found = false;
    foreach ($array1 as $key1 => $value1) {

        if($key1 == $key2){

            $resultArray[$value2] = $value1;
            $found = true;
            continue;
        }
        if(!$found)
        {
            $resultArray[$value2] = 0;
        }
    }
}

print_r($resultArray);
?>

Found solution for your question.

<?php
$arr1 = array(
    '0' => '1800',
    '5' => '1500',
    '6' => '4545'
    );

$arr2 = array(
    '0' => 'a',
    '1' => 'b',
    '2' => 'c',
    '3' => 'd',
    '4' => 'e',
    '5' => 'f',
    '6' => 'g',
    );

$arr3 = array();
foreach($arr2 as $key => $value){
    if(!empty($arr1[$key])){
        $arr3[$key][$value] = $arr1[$key];
    }
    else{
        $arr3[$key][$value] = 0;
    }
}

print '<pre>';
print_r($arr3);
print'</pre>';
?>